我正在用Java编程,现在正在使用GUI和图形。在我的程序中,我将图像绘制到JPanel上并将JPanel添加到主窗口。我遇到的问题是,当我运行程序时,直到手动调整窗口大小后,图像才会显示。以下是相关代码:
绘制图像的位置:
public class painting extends JPanel{
public void paintComponent(Graphics g){
super.paintComponent(g);
this.setBackground(Color.WHITE);
g.drawImage(Toolkit.getDefaultToolkit().getImage("image.png"), 0, 0, null);
}
}
将JPanel添加到JFrame的位置(c是GridBagConstraints):
public class GUI extends JFrame{
public GUI(){
painting Pnt = new painting();
c.gridx = 1; c.gridy = 0;
c.ipadx = 540; c.ipady = 395;
add(Pnt, c);
}
}
设置窗口的位置:
public class MainC{
public static void main (String args[]){
GUI gui = new GUI();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.pack();
gui.setVisible(true);
gui.setTitle("Title");
}
}
谢谢,贝内特
编辑:我注意到它有时会正确显示图像,但是如果我关闭程序并再试一次,直到我调整大小后它才起作用。
Toolkit.getImage()
异步工作。使用ImageIO.read()
或添加MediaTracker
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句