在JDK 1.8中,Swing渲染显得破坏,在JDK 1.7中更正 [英] Swing rendering appears broken in JDK 1.8, correct in JDK 1.7

查看:325
本文介绍了在JDK 1.8中,Swing渲染显得破坏,在JDK 1.7中更正的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我安装了IntelliJ IDEA(13.1.1#IC-135.480)和JDK 1.8.0(x64),并使用GUI表单设计器生成了一些GUI。



然后我运行代码并意识到事情并不正常。



这是我的GUI屏幕截图:



Font的渲染似乎不合适。另外,当我将鼠标移到它上面时,Button会丢失它的文本。



所以我安装了JDK 1.7.0_40(x64),重新编译了Project并再次运行它。 / p>

当我使用JDK 1.7时,会出现以下表格:



渲染似乎没问题,按钮也没问题。



所以我安装了最新的Graphics和Chipset驱动程序等等,但问题仍然存在。
您是否遇到过Java Swing UI这样的问题?你能帮我解决一下我的问题吗?
任何帮助将不胜感激。






更新:



我创建了一个只有1个JTextArea和1个JButton的小项目,我有相同的渲染问题。



根据Andrew Thompson我改变了setSize()和我从美国东部时间开始。以下示例:

  package at.maeh.java.client.simpleTextClient; 

import javax.swing。*;
import java.awt。*;

公共类SimpleClient扩展JFrame {
private JPanel panel1;
private JTextArea textArea1 = new JTextArea();
private JButton button1 = new JButton();

public SimpleClient(){
super(SimpleClient);

//面板
panel1 =新JPanel();
panel1.setLayout(new FlowLayout());

// BUtton
button1.setText(TestButton);

// TextArea
textArea1.setColumns(40);
textArea1.setRows(15);

//添加组件
panel1.add(textArea1);
panel1.add(button1);

//添加到框架
this.getContentPane()。add(panel1);

//包装并设定可见
pack();
setVisible(true);

System.out.println(构造函数EDT:+ SwingUtilities.isEventDispatchThread());
}

public static void main(String [] args){
SwingUtilities.invokeLater(SimpleClient :: new);

System.out.println(Main EDT:+ SwingUtilities.isEventDispatchThread());
}
}

结果是一个带有组件的简单JFrame 。





当我写一些Text,或者将mousePointer移到Button上时,组件会像这样呈现(Text:testsentence.123; Button-Label:TestButton)



解决方案

最后我找到了解决问题的方法。我不得不将NVIDIA GeForce 620M的能量控制设置更改为最高性能。


I have installed IntelliJ IDEA (13.1.1 #IC-135.480) and JDK 1.8.0 (x64) and I generated some GUI with the GUI Form designer.

Then I ran the code and realized that something is not alright.

Here is a Screenshot of my GUI:

The rendering of the Font seems to be not OK. Additionally the Button looses its Text, when I move my mouse over it.

So I installed JDK 1.7.0_40 (x64), recompiled the Project and ran it again.

The following Form appears, when i use JDK 1.7:

The Rendering seems to be OK and the Button is also OK.

So I installed the newest Graphics and Chipset drivers and much more, but the problem still exists. Have you ever had such problems with Java Swing UIs? Could you help me to fix my problems? Any help would be greatly appreciated.


UPDATE:

I created a small Project with only 1 JTextArea and 1 JButton and i have the same rendering problems.

According to Andrew Thompson i changed the setSize() and I start from EDT. The Example below:

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

The result is a simple JFrame with the Components in it.

When I write some Text, or moove my mousePointer over the Button the components get rendered like this (Text: testsentence.123; Button-Label: TestButton)

解决方案

Finally I found the solution for my problem. I had to change the energy control settings of my NVIDIA GeForce 620M to maximum performance.

这篇关于在JDK 1.8中,Swing渲染显得破坏,在JDK 1.7中更正的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆