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




