第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在Jtable中動(dòng)態(tài)添加列名稱?

如何在Jtable中動(dòng)態(tài)添加列名稱?

炎炎設(shè)計(jì) 2021-06-07 13:39:06
我在我的項(xiàng)目中使用 Jtable,當(dāng)按下 Tab 鍵時(shí),會(huì)添加新列,但該列的名稱不存在。它在那個(gè)地方顯示一個(gè)空白我希望列名應(yīng)該是 excel 格式,即。像excel列名應(yīng)該是A,B,C等等。那我應(yīng)該檢查什么。private void datatypetableKeyPressed(java.awt.event.KeyEvent evt) {                                                 if (evt.getKeyCode() == KeyEvent.VK_TAB) {            addColumn();        }    } private void addColumn() {        DefaultTableModel model = (DefaultTableModel) datatypetable.getModel();        JTableHeader th = datatypetable.getTableHeader();        TableColumnModel tcm = th.getColumnModel();        TableColumn tc = tcm.getColumn(0);        if (model != null) {            Vector v = new Vector(1);            for (int j = 0; j < datatypetable.getRowCount(); j++) {                tc.setHeaderValue("???");                v.add("");            }            model.addColumn(v);            th.repaint();        }    }這是我向 jtable 添加新列的代碼。
查看完整描述

3 回答

?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個(gè)贊

我已經(jīng)這樣做了并且它的工作......希望我的回答可以幫助任何人......


private void datatypetableKeyPressed(java.awt.event.KeyEvent evt) {                                         

            if (evt.getKeyCode() == KeyEvent.VK_ENTER) {

                int col = datatypetable.getSelectedColumn();

                int row = datatypetable.getSelectedRow();

                int colCount = datatypetable.getColumnCount();

                int rowCount = datatypetable.getRowCount();

                col++;

                if (col >= colCount) {

                    col = 0;

                    row++;

                }

                if (row >= rowCount) {

                    row = 0;

                }

    //            datatypetable.getSelectionModel().setSelectionInterval(row, row);

    //            datatypetable.getColumnModel().getSelectionModel().setSelectionInterval(col, col);

    //            datatypetable.editCellAt(row, col);

                if (row == rowCount - 1) {

                    addRow();

                    datatypetable.scrollRectToVisible(datatypetable.getCellRect(rowCount, 0, true));

                }

            }


            if (evt.getKeyCode() == KeyEvent.VK_TAB) {

                int col = datatypetable.getSelectedColumn();

                int row = datatypetable.getSelectedRow();

                int colCount = datatypetable.getColumnCount();

                int rowCount = datatypetable.getRowCount();

                col++;

                if (col >= colCount) {

                    col = 0;

                    row++;

                }

                if (row >= rowCount) {

                    row = 0;

                }

    //            datatypetable.getSelectionModel().setSelectionInterval(row, row);

    //            datatypetable.getColumnModel().getSelectionModel().setSelectionInterval(col, col);

    //            datatypetable.editCellAt(row, col);

                if (col == colCount - 1) {

                    addColumn();

                    int selectedRow = 0;

                    datatypetable.editCellAt(selectedRow, 0);

                    datatypetable.setSurrendersFocusOnKeystroke(true);

                    datatypetable.getEditorComponent().requestFocus();

                    datatypetable.scrollRectToVisible(datatypetable.getCellRect(colCount, 0, true));

                }

            }


        }  



    private void addRow() {

            DefaultTableModel model = (DefaultTableModel) datatypetable.getModel();


            if (model != null) {

                Vector v = new Vector(1);

    //            for (int j = 0; j <= datatypetable.getColumnCount(); j++) {

    //                v.add("");

    //            }

                v.add("");

                model.addRow(v);

            }

        }


        private void addColumn() {

            DefaultTableModel model = (DefaultTableModel) datatypetable.getModel();


            if (model != null) {

                Vector v = new Vector(1);

    //            for (int j = 0; j < datatypetable.getRowCount(); j++) {

    //                v.add("");

    //            }

                v.add("");

                model.addColumn(Character.toString((char) ('A' + datatypetable.getColumnCount())), v);

            }

        }


查看完整回答
反對(duì) 回復(fù) 2021-06-30
?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以像這樣添加列。


DefaultTableModel model = new DefaultTableModel();


JTable table = new JTable(model);

//add you dynamic column name logic. ex, I am adding with i loop variable.

for( int i=1; i<5;i++){

model.addColumn("Col"+i);

}

希望你有辦法添加列。


查看完整回答
反對(duì) 回復(fù) 2021-06-30
  • 3 回答
  • 0 關(guān)注
  • 249 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)