gpt4 book ai didi

java - 将字体应用于 JTextArea 会导致 gui 崩溃吗?

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:23 24 4
gpt4 key购买 nike

以下代码在字体行被注释掉时有效,并且在包含该行时根本不会出现 GUI。据我所知,它的格式正确,但它使 GUI 崩溃。可能是什么原因造成的?

public class TestCode extends JFrame{
JTextArea jta;
public TestCode(){
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
JPanel content = new JPanel();
jta = new JTextArea(20, 30);
jta.setFont(new Font("Courier New", Font.PLAIN, 12)); // This line crashes
content.add(jta);
add(content);
pack();
setVisible(true);
}

public static void main (String [] args){

TestCode run = new TestCode();

}
}

我开始怀疑这和我的系统字体有关?我安装了额外的字体,也许这会影响 Java 检索它们的能力?

编辑:

只是为了澄清一下,当我运行这个程序时没有错误。 GUI 永远不会打开,IDE 变得缓慢且有问题,就好像我正在运行无限循环一样。该程序必须通过 IDE 终止(因为没有 GUI 显示要关闭)。

最佳答案

对于我来说,使用 1.6 和 1.7 效果很好。

一些建议:

1) 为您的 Swing 应用强制执行 EDT,如下所示:

public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
TestCode run = new TestCode();
}
});
}

进一步阅读:Concurreny in Swing

2) 将 JTextArea 放入 JScrollPane 中,并将滚动 Pane 添加到面板,而不是文本区域本身:

content.add(new JScrollPane(jta));

关于java - 将字体应用于 JTextArea 会导致 gui 崩溃吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18789776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com