Java JTable不显示
首先,我创建了JSplitPane: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 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( ... );