我目前正在编程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。取决于变量的数量...
尝试一下: