Java GUI การสร้างตารางโดยใช้ JTable (How to Creating a Simple Table)
ตัวอย่างโค้ดตัวอย่างนี้เป็นการสร้างตารางแบบง่าย ๆ โดยใช้ Javaตัวอย่างโค้ด
import java.awt.BorderLayout;import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
public class JavaCodeExam extends JFrame {
private JFrame frame;
public static void main(String[] args) throws Exception {
new JavaCodeExam();
}
public JavaCodeExam() {
this.frame = new JFrame();
this.frame.setVisible(true);
this.frame.setTitle("Frame By Java Code Exam");
this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
String[] columnNames = { "First Name", "Last Name", "Sport",
"# of Years", "Vegetarian" };
Object[][] data = {
{ "Kathy", "Smith", "Snowboarding", new Integer(5),
new Boolean(false) },
{ "John", "Doe", "Rowing", new Integer(3), new Boolean(true) },
{ "Sue", "Black", "Knitting", new Integer(2),
new Boolean(false) },
{ "Jane", "White", "Speed reading", new Integer(20),
new Boolean(true) },
{ "Joe", "Brown", "Pool", new Integer(10), new Boolean(false) } };
JTable table = new JTable(data, columnNames);
panel.add(table.getTableHeader(), BorderLayout.PAGE_START);
panel.add(table);
this.frame.add(panel);
this.frame.setSize(400, 200);
}
}
ตัวอย่างโค้ดตัวอย่างนี้
จะทำการสร้างหัวของคอลัมน์ โดยมีรูปแบบดังนี้ String[] columnNames = { "First Name", "Last Name", "Sport", "# of Years", "Vegetarian" };
จากนั้นก็ทำการสร้างข้อมูลของตารางโดยมีรูปแบบดังนี้ Object[][] data = {
{ "Kathy", "Smith", "Snowboarding", new Integer(5),
new Boolean(false) },
{ "John", "Doe", "Rowing", new Integer(3), new Boolean(true) },
{ "Sue", "Black", "Knitting", new Integer(2),
new Boolean(false) },
{ "Jane", "White", "Speed reading", new Integer(20),
new Boolean(true) },
{ "Joe", "Brown", "Pool", new Integer(10), new Boolean(false) } };
เราจะสร้าง Table โดยใช้ JTable
จากนั้นจะทำการเซ็ตคอลัมน์ลงใน Panel โดยใช้คำสั่ง panel.add(table);
จากนั้นจะทำการแสดงหัวของตาราง โดยใช้คำสั่ง panel.add(table.getTableHeader(), BorderLayout.PAGE_START);
ไม่มีความคิดเห็น :
แสดงความคิดเห็น