Java:在调整窗口大小之前图像不会显示

Giggums先生:

我正在用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");
    }
}

谢谢,贝内特

编辑:我注意到它有时会正确显示图像,但是如果我关闭程序并再试一次,直到我调整大小后它才起作用。

EDIT2:这是文件GUI类MainC类

安德鲁·汤普森(Andrew Thompson):

Toolkit.getImage()异步工作。使用ImageIO.read()或添加MediaTracker

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

嵌入式Google地图在调整大小窗口之前不会显示完整的地图

在 ImageView 中显示之前调整图像大小

OpenCV:自动调整窗口大小以显示图像

调整窗口大小时,图像高度不会调整

调整窗口大小不会更改Java值

在调整窗口大小之前,jQuery函数不会触发

调整窗口大小之前,JMenu不会出现

在重新调整窗口大小之前,不会触发砌体布局

在窗口调整大小之前不显示 Angular 中的图表

破折号-动态布局在调整窗口大小之前不会传播调整大小的图形尺寸

在我调整屏幕大小之前,Modal 中的滑块不会显示

在调整JFrame的大小之前,JPanel不会完全显示

除非调整大小,否则JFrame窗口不会显示任何内容

Java actionPerformed在GUI调整大小之前不会添加更改的标签

调整图像大小而不会失真

调整窗口高度时调整图像的大小

在窗口调整大小之前,Chart.js不会使用vue.js进行渲染

隐藏的Highcharts在调整窗口大小之前无法正确调整大小

调整窗口大小时,高度不会更新

jQuery窗口调整大小不会触发

调整窗口大小不会影响内容

调整浏览器窗口大小时,图像顶部的HTML按钮不会保持固定

将DataGrid表调整为窗口大小,并对窗口大小以外的数据使用滚动条-永远不会显示ScrollBar

CSS FlexBox - 调整窗口大小时图像未调整大小

载波在保存之前调整图像大小

在颤动渲染之前压缩或调整图像大小

除非调整浏览器窗口的大小,否则Angular ui网格不会显示内容

在模态窗口内调整图像大小

将 reactjs 图像调整为窗口大小