Я сделал простое приложение 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();
}
});
}
}
Вот несколько скриншотов:
При запуске
После горизонтального изменения размера
После ввода нескольких символов в текстовое поле
После наведения мыши на кнопку
Я использую 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