JTable হলো জটিল ডেটা স্ট্রাকচার প্রদর্শনের জন্য JComponent-এর একটি সাবক্লাস। JTable Model View Controller (MVC) ডিজাইন প্যাটার্ন ফলো করে সারি ও কলামে ডেটা প্রদর্শনের জন্য। JTable TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener এবং RowSorterListener ইন্টারফেস জেনারেট করতে পারে। MouseAdapter ক্লাস বা MouseListener ইন্টারফেস ব্যবহার করে JTable-এ ডাবল ক্লিক ইভেন্ট ডিটেক্ট করা যায়। MouseEvent ক্লাসের getClickCount() ভ্যালু '2' সেট করে JTable সারির ডাবল ক্লিক ইভেন্ট ডিটেক্ট করা যায়।
উদাহরণ
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public final class DoublClickJTableRowTest extends JFrame {
private JTable table;
private JScrollPane scrollPane;
public DoublClickJTableRowTest() {
setTitle("DoublClickJTableRow Test");
String[] columnNames = {"First Name", "Last Name"};
Object[][] data = {{"Raja", "Ramesh"}, {"Adithya", "Sai"}, {"Vineet", "Kumar"}, {"Krishna", "Kasyap"}};
table = new JTable(data, columnNames) {
public boolean editCellAt(int row, int column, java.util.EventObject e) {
return false;
}
};
table.setFocusable(false);
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me) {
if (me.getClickCount() == 2) { // ডাবল ক্লিক ইভেন্ট ডিটেক্ট
JTable target = (JTable)me.getSource();
int row = target.getSelectedRow(); // সারি সিলেক্ট
int column = target.getSelectedColumn(); // কলাম সিলেক্ট
JOptionPane.showMessageDialog(null, table.getValueAt(row, column)); // সারি ও কলামের ভ্যালু পাওয়া
}
}
});
scrollPane= new JScrollPane(table);
add(scrollPane);
setSize(375, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new DoublClickJTableRowTest();
}
}
আউটপুট
