gpt4 book ai didi

java - JTable不显示

转载 作者:行者123 更新时间:2023-11-30 06:31:22 25 4
gpt4 key购买 nike

首先我创建了 JSplitPane:

JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT ,new JScrollPane(textArea), new JScrollPane(table));
add(splitPane);//added to frame

然后我使用默认模型创建了表:

DefaultTableModel model = new DefaultTableModel(columns, 0);
JTable table = new JTable(model);

其中我将这些值设置为列数组:A B C D E F P1 P2 R1 R2 R3 S1 S2

问题是当我稍后在执行某些操作(在操作监听器中)后尝试使用以下代码添加数据时:

model.addRow(parts);

零件所在位置(作为数组):

3.0 2.0 5.0 4.0 6.0 1.0 4.0 1.0 -4.0 -30.0 5.0 -1.0 -6.0  
6.0 1.0 3.0 2.0 5.0 4.0 0.5 -5.5 0.75 -38.5 7.0 1.5 -5.5

textArea 显示正确,但 table 不正确。

我不知道我做错了什么,我一直在遵循这个教程https://docs.oracle.com/javase/tutorial/uiswing/components/table.html但这没有帮助。

附注如果我在 splitPane 初始化后设置 table = new JTable(10,10) ,它会在分割 Pane 中正常显示。

最佳答案

当您将表变量添加到拆分 Pane 时,该表变量为空。因此,没有任何组件被添加到分割 Pane 中。

以后您将无法创建 JTable 的实例。当然,变量“table”现在可能包含对 JTable 的引用,但您实际上尚未将该表添加到分割 Pane 中。

您只能在创建 JTable 之后将表添加到分割 Pane 。

所以代码必须是这样的:

table = new JTable(column, 0);
JSplitPane splitPane = new JSplitPane(... , new JScrollPane(textArea), new JScrollPane(table));

然后在您的代码中您可以使用:

DefaultTableModel model = (DefaultTableModel)table.getModel();
model.addRow( ... );

关于java - JTable不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46029557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com