duf*_*356 56 java swing rendering nvidia java-8
我安装了IntelliJ IDEA(13.1.1#IC-135.480)和JDK 1.8.0(x64),并使用GUI Form设计器生成了一些GUI.
然后我运行代码并意识到某些事情是不正常的.
这是我的GUI的屏幕截图:

Font的渲染似乎不合适.另外,当我将鼠标移到它上面时,Button会丢失其文本.
所以我安装了JDK 1.7.0_40(x64),重新编译了Project并再次运行它.
当我使用JDK 1.7时,会出现以下表格:

渲染似乎没问题,按钮也没关系.
所以我安装了最新的Graphics和Chipset驱动程序等等,但问题仍然存在.您是否遇到过Java Swing UI这样的问题?你能帮我解决一下我的问题吗?任何帮助将不胜感激.
我创建了一个只有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());
}
}
Run Code Online (Sandbox Code Playgroud)
结果是一个带有组件的简单JFrame.

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

25m*_*mhz 49
对于那些问题尚未解决的人; 尝试此解决方案:
在OS内部将全局环境变量"J2D_D3D"设置为"false".根据Sun的说法,此设置用于关闭Java 2D系统在Java 1.4.1_02及更高版本中对Direct3D的使用.
即:只需创建一个名为"J2D_D3D"的环境变量,而不使用引号创建值"false".
这解决了我的渲染问题,希望它也能解决你的问题.
duf*_*356 13
最后我找到了解决问题的方法.我不得不将NVIDIA GeForce 620M的能量控制设置更改为最高性能.
您可以按照以下步骤操作:
小智 8
我有完全一样的问题.在duffys质量设定调整后我发现了什么:
我的笔记本电脑同时运行Intel HD 4000和NVS 5200M.使用Java 7运行Swing应用程序在两张卡上都可以.使用英特尔卡呈现的Java 8 Swing GUI(无论质量设置如何)看起来像粉碎(如duffys屏幕截图),使用NVS 5200M,它们看起来像以前一样.
在java bug跟踪器上找不到任何东西,另一方面很难描述这个bug.