A JTable เป็นคลาสย่อยของ JComponent คลาสสำหรับแสดงโครงสร้างข้อมูลที่ซับซ้อน JTable สามารถติดตาม Model View Controller (MVC) รูปแบบการออกแบบเพื่อแสดงข้อมูลใน แถวและคอลัมน์ . JTable จะสร้าง TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener และ RowSorterListener อินเทอร์เฟซ
เราสามารถตรวจสอบว่าเซลล์ JTable ว่างหรือไม่โดยการใช้ getValueAt() วิธีการของ JTable ระดับ. ถ้าเราคลิกที่ "คลิกที่นี่ ปุ่ม " จะสร้างกิจกรรมการดำเนินการและแสดงข้อความป๊อปอัปเช่น "ฟิลด์ว่างเปล่า " ให้กับผู้ใช้
ตัวอย่าง
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class JTableEmptyValidateTest extends JFrame { private JPanel panel; private JTable table; private JButton button; String[] columnNames = new String[] {"Student 1", "Student 2"}; String[][] dataValues = new String[][] {{"95", "100"}, {"", "85"}, {"80", "100"}}; public JTableEmptyValidateTest() { setTitle("Empty Validation Table"); panel = new JPanel(); table = new JTable(); TableModel model = new myTableModel(); table.setModel(model); panel.add(new JScrollPane(table)); button = new JButton("Click Here"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { if(validCheck()) { JOptionPane.showMessageDialog(null,"Field is filled up"); } else { JOptionPane.showMessageDialog(null, "Field is empty"); } } }); add(panel, BorderLayout.CENTER); add(button, BorderLayout.SOUTH); setSize(470, 300); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } public boolean validCheck() { if(table.getCellEditor()!= null) { table.getCellEditor().stopCellEditing(); } for(int i=0; i < table.getRowCount(); i++) { for(int j=0; j < table.getColumnCount(); j++) { String value = table.getValueAt(i,j).toString(); if(value.trim().length() == 0) { return false; } } } return true; } class myTableModel extends DefaultTableModel { myTableModel() { super(dataValues, columnNames); } public boolean isCellEditable(int row, int cols) { return true; } } public static void main(String args[]) { new JTableEmptyValidateTest(); } }
ผลลัพธ์