【发布时间】:2016-08-26 10:19:06
【问题描述】:
我制作了这个简单的文本编辑器程序,但不知道如何在程序运行时更改 GUI 组件的属性。 假设这是我的文本编辑器源代码的一部分:
boolean wordwrap = false;
void mainFrame() {
frame = new JFrame("Text Editor");
textArea = new JTextArea(50,20);
textArea.setLineWrap(wordwrap);
假设我添加了一个事件源(JButton)作为监听器进行更改
textArea 的.setLineWrap(boolean)。就像这样:
public void actionPerformed(ActionEvent event) {
if(wordwrap) wordwrap = false;
else wordwrap = true;
textArea.setLineWrap(wordwrap);
frame.repaint();
}
但是这段代码不起作用!!。那么,在程序运行时更新或编辑 JAVA GUI 组件的正确方法是什么?
【问题讨论】:
-
尝试
textArea.revalidate(),而不是在框架上重绘。 -
@markspace 好吧,谢谢
.revalidate()工作正常!!!
标签: java swing user-interface components updates