为什么我写的JAVA程序第一次无法显示图片

我用eclipce写的Java程序,写了一个窗口,有两个label和四个按钮,但是第一次运行一片空白,只有最小化再点出来才行。代码如下:JFramemain=newJFr... 我用eclipce写的Java程序,写了一个窗口,有两个label和四个按钮,但是第一次运行一片空白,只有最小化再点出来才行。代码如下:JFrame main=new JFrame("私のゆうき あすな"); main.setSize(700, 600); main.setVisible(true); main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); main.setLayout(null); ImageIcon aa=new ImageIcon("icon/all.jpg"); JLabel Ad=new JLabel(aa); Ad.setSize(400, 200); Ad.setLocation(150, 50); ImageIcon bb=new ImageIcon("icon/月姬.png"); JLabel Aa=new JLabel(bb); Aa.setSize(200, 400); Aa.setLocation(500, 250); AllListener b1=new AllListener(); AllListener b2=new AllListener(); AllListener b3=new AllListener(); AllListener b4=new AllListener(); JButton Begin=new JButton("开始游戏"); JButton Help=new JButton("帮助"); JButton Music=new JButton("音乐"); JButton Exit=new JButton("退出游戏"); Begin.setSize(100, 50); Begin.setLocation(300, 285); Help.setSize(100, 50); Help.setLocation(300, 345); Music.setSize(100, 50); Music.setLocation(300, 405); Exit.setSize(100, 50); Exit.setLocation(300, 465); Begin.addActionListener(b1); Help.addActionListener(b2); Music.addActionListener(b3); Exit.addActionListener(b4); main.add(Begin); main.add(Help); main.add(Music); main.add(Exit); main.add(Ad); main.add(Aa); 展开
 我来答
雪飞潇潇
2017-07-04 · TA获得超过6275个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:873万
展开全部

原因: 先让窗口可见了. 然后添加组件,就会出现这种问题

很多的解决办法,提供两种


第一,比较常用的 (推荐使用)

把窗口可见的代码移动到 最后面

main.add(Aa);//移动到这行代码的后面,添加窗口可见
main.setVisible(true);

第二

在后面添加一个更新组件树的语句

main.add(Aa);//在这后面添加 更新组件树的代码
SwingUtilities.updateComponentTreeUI(main);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式