簡體   English   中英

JTable編輯后更新單元格值

[英]JTable updating cell value after editing

為什么設置值后我的表不更新。我有setValuesAt方法,但是它不起作用。

    String[] ColumnNames = {"Register","Value"};
    String[][] data = new String[Integer.parseInt(Amount_Text_Field.getText())][ColumnNames.length];
    DefaultTableModel model = new DefaultTableModel(data, ColumnNames)
    {   
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isCellEditable(int row, int column)
        {
            return true; 

        }

        @Override
        public void setValueAt(Object value, int row, int column) {

            data[row][column]=(String) value;

            fireTableCellUpdated(row, column);  
        }
    };

無需重寫DefaultTableModel的setValueAt()方法。 DefaultTableModel已經實現了該方法。

String[][] data = new String[Integer.parseInt(Amount_Text_Field.getText())][ColumnNames.length];

我猜想當上述語句被調用時,您的文本字段將不包含任何數據。 因此,沒有數據要添加到表中。

如果要用於在文本字段中輸入數據,則需要具有“添加數據”之類的按鈕。 然后,在按鈕的ActionListener中,您可以執行以下操作:

String[] row = new String[Integer.parseInt(Amount_Text_Field.getText())][ColumnNames.length];
model.addRow( row );

另外,變量名不應以大寫字母開頭。 一些是正確的,其他不是。 始終如一!!!

暫無
暫無

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

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