1

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

所以我有一组想要在 JTable 上打印的 JTextField。我该怎么做呢?这是我的 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

在那张图片中有“标题”“艺术家”和“专辑”,这是我的字符串变量“vdLabel”

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

4

2 回答 2

2

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

在做任何其他事情之前,请先查看关于如何使用表的Java 教程。无论如何,请确保您有一个模型。然后,如果您要向表中动态添加行,您会希望在每行的末尾有一个按钮。选择它应该触发一个动作,导致控制器向模型添加一条记录。然后控制器应该发送一个TableModelChanged事件。JTable应该已向控制器注册,因此它会获取事件并重绘自身。

于 2013-05-16T01:33:45.747 回答
2

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

当用户单击“保存”按钮时,modal JDialog您可以从文本字段中获取数据,然后DefaultTableModel使用该addRow(....)方法添加一行。

于 2013-05-16T02:31:46.660 回答