01/10/2018, 09:35
Bắt sự kiện click vào 1 dòng của jTable
Mình có 1 JFrame chứa 1 jTale để hiển thị các thông tin của Client (với các cột ID, tên, địa chỉ), bây giờ mình bắt sự kiện click vào từng dòng của jTable. khi click vào 1 dòng của jTable thì sẽ chuyển sang một JFrame mới, đóng JFrame hiện tại. Đây là code của mình
tblClient.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
// chuyển sang JFrame mới
MyJFrame myJFrame = new MyJFrame ();
myJFrame .setVisible(true);
// đóng JFrame hiện tại
setVisible(false);
}
});
Nhưng mình gặp phải vấn đến là, khi click vào 1 dòng của jTable, thì chương trình lại hiện ra những 2 cửa sổ của JFrame mới.
m.n sửa giúp mình lỗi này với, hay do mình bắt sự kiện click vào dòng của jTable sai nhỉ
Bài liên quan
Bạn thêm control flow if sau vào đầu tiên của method:
Explaination: Bởi vì khi bạn click vào 1 row thì nó sẽ là một chuổi của 2 sự kiện MousePressed và MouseRealesed nên method valueChanged() thực hiện 2 lần do đó nó hiện lên 2 cửa sổ.
Cảm ơn b nhé, đã làm theo và đc rồi