所以我目前正致力于生成小程序,例如汽车零件,指向其中一个,然后给你3个选项,你必须选择正确的。 我决定用选项定制JButton,因为我不喜欢形状和颜色。所以我制作了矩形3D并将图像作为背景应用。
这就是我的麻烦开始的地方:在应用背景后,我无法使用setText,因为文本没有出现在按钮上。我在想是否应该尝试提出自己的setText,但我不知道从哪里开始。你们能给我任何关于从哪里开始或如何修复它的指示?
到目前为止,这是我的代码:
public class Button扩展JButton { 私人字符串链接;
public Button(String link) {
this.link = link;
}
public void setBackground(){ // sets the background to a particular image on the drive
try {
Image img = ImageIO.read(new File(this.link));
paintComponent(img.getGraphics());
setTest("Siema");
} catch (IOException e) {
System.out.println("Doesn't exist");
}
}
public void setTest(String string) { // PROBLEM!
this.setText(string);
}
public void paintComponent(Graphics g) /overrides the paintComponent method to draw the image
{
Image img;
try {
img = ImageIO.read(new File(this.link));
g.drawImage(img, 0, 0, null);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
我认为图片是通过按钮生成的,因此我无法看到文字。
答案 0 :(得分:1)
我认为SetText无效,因为你用setBackground绘制它。