【发布时间】:2013-02-03 03:24:05
【问题描述】:
我有一个MainPanel,它使用Gridlayout。因此,我分别为 NORTH、EAST、CENTER 和 EAST 布局创建了四个 JPanel 类。然后我将所有四个添加到我的MainPanel。
但是,在我的 WEST 面板上,我使用另一个网格布局来存储 JButtons 和 JTextFields。我想不断更新我的JTextFields,因为它们显示一个值(当单击另一个面板上的按钮时会发生变化)。当JFrame 运行时,如何允许更改该值?
我尝试使用paintComponent,但它不断添加相同JTextField 的多个副本,因为我将它添加到我的paintComponent 方法中。如果我删除 add 方法,值将不会更新。
【问题讨论】:
-
你有密码吗?不过,一般来说,在 Swing 中,除非您正在创建自己的小部件,否则几乎没有理由重写paintComponent。
-
无法真正上传代码,因为它是作业的一部分
-
我猜你的意思是BorderLayout。 “更新 JTextField”是什么意思?改变它的文字?如果是这样,只需调用
setText()方法即可。 -
该值显示另一个类的数字,因此它从该类的字段中获取值。这个值是不断变化的,所以一旦框架运行,新值就不会在我的面板上更新
-
您能否上传一小部分可编译并突出显示您所看到的行为的代码?
标签: java swing jpanel jtextfield paintcomponent