วันอังคารที่ 4 มีนาคม พ.ศ. 2557

Java GUI การปรับขนาดของคอลัมน์ใน JTable (Setting and Changing Column Widths)

Java GUI การปรับขนาดของคอลัมน์ใน JTable (Setting and Changing Column Widths)

ตัวอย่างโค้ดโปรแกรมนี้ เป็นตัวอย่างโค้ดที่แสดงวิธีการปรับขนาดของคอลัมน์ใน JTable

ตัวอย่างโค้ด

import java.awt.BorderLayout;

import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.TableColumn;

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);
TableColumn column = null;
for (int i = 0; i < 5; i++) {
   column = table.getColumnModel().getColumn(i);
   if (i == 2) {
       column.setPreferredWidth(100); //third column is bigger
   } else {
       column.setPreferredWidth(50);
   }
}

panel.add(table.getTableHeader(), BorderLayout.PAGE_START);
panel.add(table);

this.frame.add(panel);
this.frame.setSize(400, 200);
}
}

ตัวอย่างโค้ดนี้แสดงการกำหนดขนาดของคอลัมน์ ใน JTable
ก่อนอื่นสร้าง TableColumn ขึ้นมาก่อนเพื่อเก็บคอลัมน์ของตาราง โดยใช้คำสั่ง table.getColumnModel().getColumn(i); เราวนลูปเพื่อนำแต่ละคอลัมน์มาเซ็ตขนาด

เราสามารถเซ็ตขนาดของคอลัมน์โดยใช้ setPreferredWidth(50);

ผลลัพธ์ที่ได้


yengo หรือ buzzcity

ไม่มีความคิดเห็น :

แสดงความคิดเห็น