簡體   English   中英

JTable Cell Editor功能不適用於第二行

[英]JTable Cell Editor function not working with second row

我在jinternalframe中有一個表,就像上次編輯停止后在編輯模式中選擇用戶按下下一個單元格一樣工作,如果是最后一列,則選擇進入下一行,列號為-1,但問題出在我加載它工作的類與第二行的第一行它不工作。需要幫助我無法在谷歌上找到關於單元格編輯器的正確信息我需要只使用editingstop和編輯取消方法..

table.getDefaultEditor(String.class).addCellEditorListener(new CellEditorListener() {

        @Override
        public void editingStopped(ChangeEvent e) {

            if (table.getSelectedColumn() == 1
                    && table.getValueAt(table.getSelectedRow(), 1).toString().isEmpty()) {

                main = new MainWindow();
                main.itemdata.setSize(getDesktopPane().getWidth(), getDesktopPane().getHeight());
                main.itemdata.setLocation(0, 0);
                main.itemdata.show();
                getDesktopPane().add(main.itemdata);
                main.itemdata.moveToFront();
                main.itemdata.searchField.grabFocus();
                main.itemdata.searchField.selectAll();

            }

            else if (table.getSelectedColumn() == 5) {

                table.changeSelection(table.getSelectedRow(), 7, false, false);
                table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());

            }

            else if (table.getSelectedColumn() == 7) {

                table.changeSelection(table.getSelectedRow(), 8, false, false);
                table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());

            }

            else if (table.getSelectedColumn() == 8) {

                table.changeSelection(table.getSelectedRow() + 1, 1, false, false);
                table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());

            }

        }

        @Override
        public void editingCanceled(ChangeEvent e) {

            System.out.println("Editing Cancelled");
        }
    });
    if (table.getSelectedColumn() == 1) {
                ItemData itemdata = null;
                if (itemdata == null) {
                    itemdata = new ItemData();
                    itemdata.setSize(getDesktopPane().getWidth(), getDesktopPane().getHeight());
                    itemdata.setLocation(0, 0);
                    itemdata.setVisible(true);
                    getDesktopPane().add(itemdata);
                    itemdata.moveToFront();
                    itemdata.searchField.grabFocus();
                    itemdata.searchField.selectAll();
                    System.out.println(table.getSelectedRow() + "+" + table.getSelectedColumn());

                }

                if (itemdata != null) {
                    itemdata.show();
                }

            } else if (table.getSelectedColumn() == 3) {
                table.changeSelection(table.getSelectedRow(), 5, false, false);
                table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());
                System.out.println(table.getSelectedRow() + "+" + table.getSelectedColumn());
            }

            else if (table.getSelectedColumn() == 5) {
                table.changeSelection(table.getSelectedRow(), 7, false, false);
                table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());
                System.out.println(table.getSelectedRow() + "+" + table.getSelectedColumn());
            } else if (table.getSelectedColumn() == 7) {
                table.changeSelection(table.getSelectedRow(), table.getSelectedColumn() + 1, false, false);
                table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());
                System.out.println(table.getSelectedRow() + "+" + table.getSelectedColumn());
            } else if (table.getSelectedColumn() == 8) {
                table.changeSelection(table.getSelectedRow() + 1, 1, false, false);
                table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());
                System.out.println(table.getSelectedRow() + "+" + table.getSelectedColumn());

            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM