1

私は Netbeans を使用しており、IDE がコードを自動生成する方法を見つけようとしています。以前、JLabel のテキストを JTable の選択された行の列にバインドしたことを覚えていますが、その場合、JTable の値はエンティティ マネージャーからのもので、非常に簡単でした。JTable がデータベースに関連付けられていなくても、それを行う方法があるかどうか疑問に思っていました。

また、他にどのようにそれを行うことができますか? 私は ListSelectionListener を実装することを考えていました。イベントが生成されるたびに、ラベルのテキストを更新するだけです。

4

1 に答える 1

2

あなたの2番目の解決策は、次のような最善の方法だと思います:

public class LabelSyncer implements ListSelectionListener {

    private JLabel toSync;
    private int columnIndex;

    public LabelSyncer(JLabel toSync, int columnIndex) {

    }

    public void valueChanged(ListSelectionEvent e) {
        JTable table = (JTable) e.getSource();
        int row = table.getSelectedRow();
        toSync.setText(table.getModel().getValueAt(row, columnIndex).toString());
    }
}

その後

table.getSelectionModel().addListSelectionListener(new LabelSyncer(label, columnIndex));

このようなもの。おそらくより一般的な解決策ですが、これでうまくいくはずです。

于 2009-11-25T15:10:22.993 に答える