【发布时间】:2013-03-19 06:53:48
【问题描述】:
我有两个独立的组件,一个是扩展JTable 的类,另一个是扩展JPanel 的类(包含一个表单)。
当该应用程序运行时,两者都显示在同一个视图中,当我单击表格上的一行时,我希望表单上的文本文件会更新,但没有任何反应 我使用观察者(表单类是侦听器)模式将单击的行发送到包含要更新的表单字段的类/面板,接收到值但未更新文本字段。
下面的代码在表单类中,它更新表单字段,表单类作为监听器添加到表格类中,当点击表格行时触发下面的方法
public void onTableRowClick(CollectedParcelEvent e)
{
JOptionPane.showMessageDialog(null,"test", "test", 1);
txtCost.setText(Double.toString(e.getSource().getCost()));
txtCustomerName.setText(e.getSource().getCustomer().getName());
txtCost.repaint();
txtCost.revalidate();
}
【问题讨论】:
-
放上你的完整代码,以便更好地理解你的问题..
-
您是否在调试中运行以查看 textField 是否真的更新了?查看它是否来自 UI
-
您确定单击表格行时会触发该方法吗?您也不必重新绘制和重新验证。设置文本应该可以正常工作,也许这就是原因。
-
什么都没有发生,或者它只是“冻结”?
-
为了获得更好的帮助,请尽快发布 SSCCE,简短、可运行、可编译,大约上午问题
标签: java swing jtextfield