私は2つのテーブルを持っていると私はtable_4するtable_3で特定のセルから値を追加する必要があります..しかし、その動作していません。助けてください?エラー:java.lang.ArrayIndexOutOfBoundsException:0> = 0
コード:
JTable table_3 = new JTable(TableModel2);
final JTable table_4 = new JTable(TableModel3);
JButton btnAdd = new JButton("add");
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int row = table_3.getSelectedRow();
int column = table_3.getSelectedColumn();
Object selectedPlanet = TableModel2.getValueAt(row, column);
int columnContainingPlanets = 0;
for (int index = columnContainingPlanets; index < TableModel3.getRowCount();index ++){
Object value = TableModel3.getValueAt(index, columnContainingPlanets) ;
if (value == selectedPlanet) {
JOptionPane.showMessageDialog(panel_10,"This item was selected ,Please select another item");
return; }}
TableModel3.addRow(new Object[] { selectedPlanet });
}
});
変数名は大文字で始めるべきではありません。いくつかは正しい、他は正しくありません。一貫してください!変数名も説明的でなければなりません。 「3と4」はあまり説明的ではありません。モデル名はさらに悪い( "2と3")。少なくともモデル名はテーブル名と一致する必要がありますので、どのモデルがどのテーブルに属しているかを知る必要があります。なぜテーブルが更新されていないのかわかりません。デバッグ文を追加して、コードが実行されたことを確認しましたか?問題があることを示す適切な[mcve]を投稿するために、さらに助けが必要な場合。また、コードが適切にフォーマットされていて、読み取り可能であることを確認してください。 – camickr
ええ、それは正しいですが、実行中のコードには影響しません。 –
まだあなたの[mcve]を待っています。 – camickr