我有一个带有mupltiple组件和其他面板的面板。某些组件在功能上与另一组件相关联。因此,如果我改变一个组件的值,其他一些组件会以某种方式作出反应。为此,我将所有这些组件都设置为对象属性并为它们添加了事件侦听器。
在我的情况下,我想重置一个链接组件的一些属性(比如JTextField
的文本),所以我改变了主题'对象属性的值,但我无法在事件发生后看到我的更改,但我的监听器被调用。
重绘不应该成为问题。重置数据后,我在整个帧上调用了revalidate()
和repaint()
- 没有变化。
我认为我误解了某种组件对象的引用。你能帮帮我吗?
public class MyPanel extends JPanel {
private ItemSelecter isBase;
private ItemSelecter isSet;
public MyPanel() {
isBase.addItemSelectedListener(new ItemSelectedListener() {
@Override
public void onItemSelected() {
ArrayList<String> data = getMyAwesomeData();
isSet.setData(data);
Meta.frame.revalidate();
Meta.frame.repaint();
}
});
}
}