Swing-rendering erscheint gebrochen in JDK 1.8, korrekte JDK 1.7

Habe ich installiert IntelliJ IDEA (13.1.1 #IC-135.480) und JDK-1.8.0 (x64) und ich erzeugt einige GUI mit dem GUI-Formular-designer.

Dann lief ich den code und realisiert, dass etwas nicht in Ordnung.

Hier ist ein Screenshot von meiner GUI:
Swing-rendering erscheint gebrochen in JDK 1.8, korrekte JDK 1.7

Rendering der Schrift scheint nicht OK zu sein. Zusätzlich die Schaltfläche verliert den Text, wenn ich meine Maus über Sie.

So, ich installierte JDK 1.7.0_40 (x64), kompiliert das Projekt und es lief wieder.

Dem folgenden Formular angezeigt wird, wenn ich mit JDK 1.7:
Swing-rendering erscheint gebrochen in JDK 1.8, korrekte JDK 1.7

Dem Rendering scheint OK zu sein und der Schalter ist auch OK.

So installierte ich die neueste Grafik-und Chipsatz-Treiber und vieles mehr, aber das problem besteht immer noch.
Hatten Sie jemals solche Probleme mit Java Swing UIs? Könnten Sie mir helfen, zu beheben meine Probleme?
Jegliche Hilfe würde sehr geschätzt werden.


UPDATE:

Habe ich ein kleines Projekt mit nur 1 JTextArea und 1 JButton und ich haben die gleiche rendering-Probleme.

Laut Andrew Thompson wechselte ich die setSize() und ich starten von EDT. Beispiel unten:

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());
    }
}

Das Ergebnis ist ein einfaches JFrame mit den Komponenten.

Swing-rendering erscheint gebrochen in JDK 1.8, korrekte JDK 1.7

Wenn ich Text Schreibe, oder moove mein Mauszeiger über der Schaltfläche die Komponenten gerendert wie dieser (Text: testsentence.123; Button-Label: TestButton)

Swing-rendering erscheint gebrochen in JDK 1.8, korrekte JDK 1.7

Könnte Sie erstellen Sie ein kleineres Beispiel und die erforderlichen code, um es uns ermöglichen, testen Sie es selbst?
Hallo, ich habe ein kleineres Projekt mit nur 1 TextArea und 1 Knopf und ich haben die gleichen Probleme. Ich Zip - Sie können es hier herunterladen: drive.google.com/file/d/0B4TRtWhseMOdSm1sVHd6eVhfR3M/...
Es wäre besser für Sie, um den code in die Frage selbst, für die Leichtigkeit, für alle Leser.
Ich denke, ein SSCCE ist das, was Vulkanier bedeutete, nicht eine zip-Datei mit dem gesamten Projekt. Der Grund ist, dann kann jeder kopieren Sie einfach unseren code und testen Sie es schnell.
Das rendering ist so weit/schlimm, dass ich würde wirklich hassen, tadeln (ein Beamter) JDK 1.8 release selbst - es sind viele tests (und beta-Tester) für die Java-SDKs/REs in diesen Tagen .. was passiert beim kompilieren gegen/mit dem Java-8-SDK außerhalb von IntelliJ? Wenn das die gleichen Probleme dann noch eine variable entfernt werden können und die IntelliJ-IDEA-tag, das sollte wirklich nicht Materie) können entfernt werden. Oder, wenn Sie ist ein problem mit der IDEE setup, dann erforscht werden kann, die in mehr Tiefe. Auch, was passiert, wenn die Ausführung von andere Java-Swing-Programme gegen JRE 8 an diesem system?

InformationsquelleAutor duffy356 | 2014-03-29

Schreibe einen Kommentar