gpt4 book ai didi

java - JTextArea setFont 改变textarea的大小

转载 作者:行者123 更新时间:2023-12-01 22:19:03 30 4
gpt4 key购买 nike

我目前有一个设定大小的JTextArea,但是如果我更改该区域的字体,该区域的大小也会发生变化。

    textArea = new JTextArea(20,40);
textArea.setWrapStyleWord(true);
textArea.setLineWrap(true);
textArea.setFont(font);

我知道这一点是因为行数和列数的大小随着字体大小的变化而变化。但是如果我注释掉 setFont,并添加一个带有调用完全相同的内容的 ActionListener 的 JButton,则 JTextArea 保持不变

    if(e.getSource() == applyButton){
textArea.setFont(fc.getSelectedFont());
}

字体fc.getSelectedFont相同

最佳答案

任何 swing 组件的布局中的每项更改,在调用 revalidate() 之前都不会生效。 repaint() 在这种情况下没有帮助。

在第一种情况下,您在更改在屏幕上可见之前进行了更改。当第一次可见时,Swing 会为您调用 revalidate()。你的第二个案例与此不同!。

关于java - JTextArea setFont 改变textarea的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331261/

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