将JTable值保存在ArrayList中

问题描述 投票:0回答:1

我目前正在编程Yahtzee,目前正在更改播放器名称。为此,我使用一种额外的形式,其中有一个JTable和一个JButton

取决于表中球员的数量,将创建一个条目,您可以在其中更改名称。只有第二列应该是可编辑的-这也可以。

但是,我不知道如何通过按一下按钮就可以将第二列的内容添加到ArrayList,以便我可以继续使用它们。

这是我的自定义TableModel的实现>

public class SpielerBenennungTableModel implements TableModel {

    private int spielerAnzahl = 0;    
    private ArrayList<TableModelListener> Listener = new ArrayList<TableModelListener>();

    public SpielerBenennungTableModel(int spielerAnzahl){        
        this.spielerAnzahl = spielerAnzahl;
    }

    @Override
    public int getRowCount() {
        return spielerAnzahl;
    }

    @Override
    public int getColumnCount() {
        return 2;
    }

    @Override
    public String getColumnName(int arg0) {
        if(arg0 == 0){
            return "Spieler";
        }else{
            return "Eigener Name";
        }
    }

    @Override
    public Class<?> getColumnClass(int arg0) {
        return String.class;
    }

    @Override
    public boolean isCellEditable(int arg0, int arg1) {
        if(arg1 == 1){
            return true;
        }else{
            return false;
        }
    }

    @Override
    public Object getValueAt(int arg0, int arg1) {
        if(arg1 == 0){
            return "Spieler: " + (arg0+1);
        }else{
            return rowData[arg0][arg1];    
        }
    }


    @Override
    public void setValueAt(Object arg0, int arg1, int arg2) {         
    }

    @Override
    public void addTableModelListener(TableModelListener arg0) {
        Listener.add(arg0);
    }

    @Override
    public void removeTableModelListener(TableModelListener arg0) {
         Listener.remove(arg0);
    }

}

我目前正在编程Yahtzee,目前正在更改播放器名称。为此,我使用了一个额外的形式,其中有一个JTable和一个JButton。取决于变量的数量...

java swing tablemodel
1个回答
1
投票

尝试一下:

© www.soinside.com 2019 - 2024. All rights reserved.