如何将JTextField打印到JTable中?

时间:2013-05-16 01:14:10

标签: java swing jtable jtextfield

好的,所以我一直在努力解决这个问题,但我完全陷入困境,我确信这很简单。

所以我有一组JTextField,我想在JTable上打印。我该怎么办呢? 这是我的JTable代码的一部分:

static String[] vdLabel = {"Date", "Trans. Type", "Check No.", "Trans Description",      "Payment/Debit(-)", "Deposit/Credit(+)", "Balance"};
static DefaultTableModel viewTable = new DefaultTableModel(vdLabel,0);
static JTable viewLabel = new JTable(viewTable);

我想将这些变量放在“日期”“Trans Type”等

static JTextField dateTrans = new JTextField();
static JTextField typeOfTrans = new JTextField();
static JTextField checkNo = new JTextField();

如果你不明白我想要做什么,这里可能会有所帮助。

http://www.javalobby.org/articles/jtable/images/img2.png

在那张照片中有“Title”“Artist”和“Album”,这是我的字符串变量'vdLabel'

如何将日期等字符串添加到vdLabel,然后将其添加到JTable?

2 个答案:

答案 0 :(得分:2)

如果您想让某些表格单元格可编辑,那么您就不会这样做了。您不必使用DefaultTableModel,而是使用自己的AbstractTableModel子类,并适当地覆盖isCellEditable。您还可以适当地覆盖getValueAt,并返回java.util.Date个日期。 Swing将根据值使用适当的渲染器和编辑器。

在执行任何其他操作之前,请先查看Java Tutorial on How to Use Tables。无论如何,请确保您有型号。然后,如果要动态地向表中添加行,则需要在每行的末尾添加一个按钮。选择它应该触发一个动作,使控制器向模型添加记录。然后控制器应发送TableModelChanged事件。 JTable应该已经在控制器中注册,因此它获取事件并重新绘制。

答案 1 :(得分:2)

  

例如,按钮会打开一个窗口以输入信息。用户输入此信息,如“名称”等。我希望能够获取该名称变量并将其放在不同卡片窗口的JTable中

当用户点击此modal JDialog上的“保存”按钮时,您只需从文本字段中获取数据,然后使用DefaultTableModel方法向addRow(....)添加一行。

相关问题