Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTable不显示_Java_Swing_Jtable_Jsplitpane - Fatal编程技术网

Java JTable不显示

Java JTable不显示,java,swing,jtable,jsplitpane,Java,Swing,Jtable,Jsplitpane,首先,我创建了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

首先,我创建了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);
零件所在位置(作为阵列):

文本区域显示正确,但表格显示不正确

我不知道我做错了什么,我一直在遵循这个教程 但这没用


另外,如果我在splitPane初始化之后设置了
table=new JTable(10,10)
,它将在splitPane中正常显示。

将table变量添加到split pane中时,它将为null。因此,没有向拆分窗格添加任何组件

以后不能创建JTable的实例。当然变量“table”现在可能包含对JTable的引用,但实际上您还没有将该表添加到拆分窗格中

只有在创建JTable之后,才能将表添加到拆分窗格中

因此,代码必须类似于:

table = new JTable(column, 0);
JSplitPane splitPane = new JSplitPane(... , new JScrollPane(textArea), new JScrollPane(table));
然后在以后的代码中,您可以使用:

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