[英]JAVA: GUI not showing until mouse hovers over?
我正在尝试Java中的不同外观,并且添加了系统外观,但是直到将鼠标悬停在它们上时,GUI组件才可见。 这是我改变外观的代码:
try{
Base base = new Base();
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){
e.printStackTrace(System.out);
}
这是GUI组件的代码:
private void HomeScreen(){
frame.getContentPane().removeAll();
JButton btnNewNote = new JButton("");
btnNewNote.setForeground(Color.WHITE);
btnNewNote.setIcon(new ImageIcon("res/images/NewNote.png"));
btnNewNote.setBounds(385, 29, 34, 34);
btnNewNote.setVisible(true);
frame.getContentPane().add(btnNewNote);
}
一切正常,除了我必须将gui元素悬停在它们上以使其可见。 谁能给我一个原因
从容器中删除并重新添加组件时,必须在进行更改后调用revalidate()
,然后在容器上repaint()
。
其他事宜:
setBounds()
似乎是Swing新手喜欢创建复杂GUI的最简单和最佳方法,但您创建的Swing GUI越多,使用它们时将遇到的困难就越大。 当GUI调整大小时,它们不会重新调整组件的大小;它们是需要增强或维护的皇家女巫;放置在滚动窗格中时,它们会完全失败;在所有平台或与原始分辨率不同的屏幕分辨率下查看时,它们看起来都令人作呕。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.