我想在JTable
中显示数据,如下图所示:
可以观察到,在第二行中只出现3个值,我想要着色。此外,我在使用缩进来调度这些行时遇到问题。到目前为止,我看起来像这样:
我想用缩进修复这个问题并删除,
。
我的代码:
leftList.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent event) {
ArrayList<String> codes = new ArrayList<String>();
ArrayList<String> values = new ArrayList<String>();
if(!event.getValueIsAdjusting()) {
int proteinIndex = leftList.getSelectedIndex();
Object rowData[][] = { {codes}, {values} };
Object columnNames[] = {codes};
JTable table = new JTable(rowData, columnNames);
table.setTableHeader(null);
table.setShowGrid(false);
tablePane = new JScrollPane(table);
tablePane.setPreferredSize(new Dimension(765,40));
rightPanel.removeAll();
rightPanel.updateUI();
rightPanel.add(tablePane);
}
}
});
}
public void showGUI() {
JFrame frame = new JFrame();
frame.add(leftPanel,BorderLayout.EAST);
frame.add(listScrollPane,BorderLayout.WEST);
frame.add(rightPanel);
frame.setTitle("GUI");
frame.setSize(1000,500);
frame.setLocation(200,100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
你能帮助我在第一张照片中找到一个结果吗?
答案 0 :(得分:2)
可以观察到,在第二行中只出现3个值,我想要着色。
您必须创建一个自定义TableCellRenderer,用于为与该单元格中的项目对应的每个单元格着色。但...
我想用缩进修复这个问题并删除th,。
List
中的项目不会单独放在表格单元格中。相反,电话......
Object rowData[][] = { {codes}, {values} };
...使用toString
的{{1}}方法,生成一个包含2行1列的表格。将ArrayList
的每个项目放入其自己的表格单元格的另一种方法是将List
转换为数组
List