Я установил IntelliJ IDEA (13.1.1 # IC-135.480) и JDK 1.8.0 (x64), и я сгенерировал некоторый графический интерфейс с дизайнером GUI Form.
Затем я запустил код и понял, что что-то не в порядке.
Вот скриншот моего графического интерфейса:
Отрисовка шрифта, похоже, не в порядке. Кроме того, Button теряет свой текст, когда я нажимаю на него курсор.
Итак, я установил JDK 1.7.0_40 (x64), перекомпилировал проект и снова запустил его.
При использовании JDK 1.7 появляется следующая форма:
Рендеринг кажется ОК, и кнопка тоже в порядке.
Итак, я установил новейшие драйверы Graphics and Chipset и многое другое, но проблема все еще существует. Были ли у вас такие проблемы с интерфейсами Java Swing? Не могли бы вы помочь мне решить мои проблемы? Любая помощь будет принята с благодарностью.
UPDATE:
Я создал небольшой проект с только 1 JTextArea и 1 JButton, и у меня такие же проблемы с рендерингом.
По словам Эндрю Томпсона, я изменил setSize(), и я начал с EDT. Пример ниже:
package at.maeh.java.client.simpleTextClient;
import javax.swing.*;
import java.awt.*;
public class SimpleClient extends JFrame {
private JPanel panel1;
private JTextArea textArea1 = new JTextArea();
private JButton button1 = new JButton();
public SimpleClient() {
super("SimpleClient");
// Panel
panel1 = new JPanel();
panel1.setLayout(new FlowLayout());
// BUtton
button1.setText("TestButton");
// TextArea
textArea1.setColumns(40);
textArea1.setRows(15);
// Add Components
panel1.add(textArea1);
panel1.add(button1);
// Add to Frame
this.getContentPane().add(panel1);
// pack and set Visible
pack();
setVisible(true);
System.out.println("Constructor EDT: " + SwingUtilities.isEventDispatchThread());
}
public static void main(String[] args) {
SwingUtilities.invokeLater(SimpleClient::new);
System.out.println("Main EDT: " + SwingUtilities.isEventDispatchThread());
}
}
В результате получается простой JFrame с компонентами в нем.
Когда я пишу какой-то текст или мочу свой mousePointer над Button, компоненты получаются таким образом (Text: testsentence.123; Button-Label: TestButton)