JTable具有不同的颜色值

时间:2015-06-10 23:10:40

标签: java swing colors jtable

我想在JTable中显示数据,如下图所示:

enter image description here

可以观察到,在第二行中只出现3个值,我想要着色。此外,我在使用缩进来调度这些行时遇到问题。到目前为止,我看起来像这样:enter image description here

我想用缩进修复这个问题并删除,

我的代码:

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);
    }

你能帮助我在第一张照片中找到一个结果吗?

1 个答案:

答案 0 :(得分:2)

  

可以观察到,在第二行中只出现3个值,我想要着色。

您必须创建一个自定义TableCellRenderer,用于为与该单元格中的项目对应的每个单元格着色。但...

  

我想用缩进修复这个问题并删除th,。

List中的项目不会单独放在表格单元格中。相反,电话......

Object rowData[][] = { {codes}, {values} };

...使用toString的{​​{1}}方法,生成一个包含2行1列的表格。将ArrayList的每个项目放入其自己的表格单元格的另一种方法是将List转换为数组

List