我做了一个简单的Swing应用程序.但渲染表现出错误.我做错了什么或者它是一个错误?
这是一个简单的小型JFrame,带有文本字段,按钮和空列表.如果我首先水平调整窗口大小然后键入文本字段,按钮会突然消失.
这是我的代码:
public class App extends JFrame {
public App() {
JTextField messageFld = new JTextField();
JButton saveBtn = new JButton("Save");
JPanel inputPanel = new JPanel(new BorderLayout());
inputPanel.add(messageFld, BorderLayout.CENTER);
inputPanel.add(saveBtn, BorderLayout.EAST);
JList<Data> list = new JList<Data>();
JPanel panel = new JPanel(new BorderLayout());
panel.add(inputPanel, BorderLayout.NORTH);
panel.add(list, BorderLayout.CENTER);
this.getContentPane().add(panel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Test application");
this.pack();
this.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new App();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
以下是一些截图:
在启动时

水平调整大小后

在文本字段中列出了几个字符

将鼠标移到按钮上后

我使用Windows 7,Java 1.7.0和Eclipse Indigo SR1.我使用的是JDK 1.7.0.0,现在升级到JDK 1.7.0.10,但我仍然遇到同样的问题.
当我打印系统属性时,我得到这个结果:
System.out.println(System.getProperty("java.version"));
System.out.println(System.getProperty("java.runtime.version"));
> 1.7.0_01
> 1.7.0_01-b08
Run Code Online (Sandbox Code Playgroud)
小智 9
如果问题是由您的图形驱动程序引起的,设置下面的系统属性之一可能会有所帮助.不太确定Java 7中是否仍支持道具.
sun.java2d.d3d=false
sun.java2d.ddoffscreen=false
sun.java2d.noddraw=true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3702 次 |
| 最近记录: |