以编程方式编辑JTable值

时间:2013-12-30 00:36:44

标签: java swing ide lua jtable

我目前正在为Lua开发一种IDE,我目前正在制作新项目向导。

一旦用户输入了项目详细信息,我希望它们作为确认显示给用户。此信息应显示在JTable中,以使UI更清晰。

项目细节:
enter image description here

详细确认:
enter image description here

我仍然在使用UI,但在开始研究实际的语法高亮和一般编辑器之前,我想完成这些工作。

目前,这是我试图开始工作的代码(并且失败了):

if (jTabbedPane2.getSelectedIndex() == 1) {
        jLabel2.setIcon(_wizard3);
        // Enter values into table
        jTable1.setValueAt(jTextField1.getText(), 1, 1);
        jTabbedPane2.setSelectedIndex(2);
        return;
    }

如何使用此代码或类似代码编辑表格内容?

1 个答案:

答案 0 :(得分:0)

OP解决方案:

我看了一下构造函数,经过几分钟的搜索,我找到了我想要的东西。 以防万一其他人需要这个:

// Set the new model
jTable1.setModel(new javax.swing.table.DefaultTableModel(
        new Object [][] {
            // This is where your (new) values go.
            {jTextField1.getText(), jTextField2.getText()}
        },
        new String [] {
            // These are the headers for each column.
            "Project Language", "Project Type"
        }
    ) {
        Class[] types = new Class [] {
            java.lang.String.class, java.lang.String.class
        };
        boolean[] canEdit = new boolean [] {
            // Set these for each column. 
            // If false, the end-user cannot edit the contents
            // If true, the end-user is free to play with the data inside.
            false, false
        };

        @Override
        public Class getColumnClass(int columnIndex) {
            return types [columnIndex];
        }

        @Override
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return canEdit [columnIndex];
        }
    });