Home / ພື້ນຖານ Desktop app / GUI_Component / JTable
Java Table (JTable) - Swing Example ສຳລັບ ຕາຕະລາງ Table ຫຼື JTable (javax.swing.JTable) ຈັດຢູ່ໃນກຸ່ມຂອງ Component ໃຊ້ສະແດງຂໍ້ມູນໃນຮູບແບບຂອງ Table ແລະ Grid ຊຶ່ງປະກອບດ້ວຍ Header (ສ່ວນຫັວ) , Column ແລະ Cell ໂດຍຂໍ້ມູນທີ່ຈະສະແດງໃນ JTable ຈະຢູ່ໃນຮູບແບບຂອງ Array ຊຶ່ງຈະເປັນແບບ Array 2 ມິຕິ ແລະການນຳໄປໃຊ້ງານກັບ JTable ສາມາດນຳໄປໃຊ້ງານໄດ້ໂດຍກົງ ຫຼືໃນກໍລະນີທີ່ຂໍ້ມູນມີຄວາມຊັບຊ້ອນສາມາດນຳຂໍ້ມູນເຂົ້າກັບ Model ຂອງ Table ກ່ອນທີ່ຈະນຳໄປສະແດງຜົນໃນ JTable
ສ່ວນປະກອບຂອງ Table ຊຶ່ງຫຼັກໆ ແລ້ວປະກອບດ້ວຍ Header , Column ແລະ Cell
ນອກຈາກນີ້ JTable ຢັງສາມາດໃຊ້ງານກັບຂໍ້ມູນທີ່ຖືກອ່ານມາຈາກ Database ຊຶ່ງກໍໃຊ້ຫຼັກການເຊັ່ນດຽວກັບ Array ຄືຈະຕ້ອງກໍ່ການ Query ຂໍ້ມູນໃຫ້ຢູ່ໃນຮູບແບບຂອງ ResultSet ແລ້ວຄ່ອຍນຳຂໍ້ມູນທີ່ໄດ້ມາ Loop ເພື່ອສະແດງຜົນໃນ JTable
ການໃຊ້ງານ JTable ຄ່ອນຂ້າງຈະມີຄວາມຈຳເປັນຫລາຍ ເພາະຖືວ່າເປັນ Controls Component ຫຼັກທີ່ຈະໃຊ້ສະແດງຜົນແລະຈັດການກັບ Database ແລະການໃຊ້ງານກໍມີຣາຍລະອຽດປລີກຍ່ອຍເຢິຫລາຍ ແຕ່ໃນບົດຄວາມນີ້ຈະພະຍາຍາມຢົກຕົວຢ່າງການໃຊ້ JTable ທີ່ຄິດວ່າເປັນປະໂຫຍດແລະສາມາດນຳໄປໃຊ້ງານໄດ້ຈິງ
public class MyForm extends JFrame {
public MyForm() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 485, 218);
setTitle("KIttisay Java");
setLayout(null);
String data[][] = {
{"Row1/1", "Row1/2", "Row1/3"},
{"Row2/1", "Row2/2", "Row2/3"},
{"Row3/1", "Row3/2", "Row3/3"},
{"Row4/1", "Row4/2", "Row4/3"}
};
String header[] = {"Column 1", "Column 2", "Column 3"};
// Table
JTable table = new JTable(data, header);
add(table);
// ScrollPane
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.setBounds(36, 37, 407, 79);
add(scrollPane);
}
public static void main(String[] args) {
MyForm frm = new MyForm();
frm.setVisible(true);
}
public class MyForm extends JFrame {
public MyForm() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 700, 242);
setTitle("Kittisay Java");
getContentPane().setLayout(null);
// ScrollPane for Table
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(33, 41, 600, 90);
getContentPane().add(scrollPane);
// Table
JTable table = new JTable();
scrollPane.setViewportView(table);
// Model for Table
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.addColumn("No");
model.addColumn("CustomerID");
model.addColumn("Name");
model.addColumn("Email");
model.addColumn("CountryCode");
model.addColumn("Budget");
model.addColumn("Used");
// Data Row
for (int i = 0; i <= 10; i++) {
model.addRow(new Object[0]);
model.setValueAt(i + 1, i, 0);
model.setValueAt("Data Col 1", i, 1);
model.setValueAt("Data Col 2", i, 2);
model.setValueAt("Data Col 3", i, 3);
model.setValueAt("Data Col 4", i, 4);
model.setValueAt("Data Col 5", i, 5);
model.setValueAt("Data Col 6", i, 6);
}
}
public static void main(String[] args) {
MyForm frm = new MyForm();
frm.setVisible(true);
}