Ghi chú đến thành viên
Go Back   4vn.eu > Kiến thức > Tin há»c > Lập Trình > Java
Gởi Ãá» Tài Má»›i Trả lá»i
 
Ãiá»u Chỉnh
  #1  
Old 29-08-2011, 06:12 PM
The Creator's Avatar
The Creator The Creator is offline
57991135
Cạch !
 
Tham gia: Feb 2008
Äến từ: VN
Bài gởi: 1,152
Thá»i gian online: 3 tuần 0 ngày 14 giá»
Xu: 0
Thanks: 359
Thanked 1,686 Times in 186 Posts
Cách sử dụng Jtable trong Java - How to use tables in Java

Java Tutorials - Cách sử dụng Jtable trong Java - How to use tables in Java

Vá»›i lá»›p Jtable các bạn có thể hiển thị dữ liệu vá»›i dạng bảng, mặt khác còn cho phép ngÆ°á»i dùng chỉnh sá»­a dữ liệu, Jtable không chứ dữ liệu hoặc cache dữ liệu, nó chỉ lại má»™t Ä‘Æ¡n thuần là má»™t khuôn nhìn dữ liệu của các bạn. DÆ°á»›i đây là hình minh há»a má»™t bảng vá»›i việc sá»­ dụng scroll pane.

Tạo một bảng đơn giản

Bảng trong SimpleTableDemo.java khai báo các tên cột dưới dạng một mảng kiểu String (String array)

Trích:
String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian"};
Dữ liệu trong mảng này được khởi tạo với một mảng đối tượng 2 chiểu (two-dimensional Object array)
Trích:
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)}
};
Sau đó bảng được xây dá»±ng vá»›i dữ liệu của data và tá»n cá»™t columnNames
Trích:
JTable table = new JTable(data, columnNames);
Có 2 hàm khởi tạo của Jtable mà nhận trực tiếp dữ liệu đó là :
Trích:
* JTable(Object[][] rowData, Object[] columnNames)
* JTable(Vector rowData, Vector columnNames)
Những điểm thuận lợi của 2 hàm khởi tạo trên là chúng được sử dụng một các để dàng, tuy nhiên chúng vận có những khuyết điểm :
- Các ô mặc định được cài đặt là cho phép chỉnh sửa (editable)
- Tất cả các kiểu dữ liệu là giống nhau, tất cả Ä‘á»u được Ä‘Æ°a vá» kiểu chuá»—i. Ví dụ, nếu cá»™t trong bảng có kiểu dữ liệu là Boolean, bảng có thể hiển thị dữ liệu trong má»™t há»™p kiểm tra (check box). Tuy nhiên, nếu bạn sá»­ dụng má»™t trong hai hàm khởi tạo JTable được liệt kê ở trên, dữ liệu Boolean của bạn được hiển thị nhÆ° má»™t chuá»—i. Bạn có thể thấy sá»± khác biệt này trong cá»™t Vegetarian của bảng ví dụ trên.
- Yêu cầu các bạn phải đặt tất cả dữ liệu trong má»™t array hoặc má»™t vertor, Ä‘iá»u này sẽ không thích hợp trong má»™t số trÆ°á»ng hợp. Ví dụ, nếu bạn khởi tạo má»™t tập các đối tượng từ cÆ¡ sở dữ liệu, bạn có thể muốn truy vấn các đối tượng trá»±c tiếp cho các giá trị của há», hÆ¡n là sao chép tất cả các giá trị vào má»™t mảng hoặc vector.
--> Äể khắc phục được vấn Ä‘á» này các bạn có thể tham khảo tại "Creating a Table Model", sẽ được Ä‘á» cặp ở các phần sau.

Dưa bảng vào Container

Äây là má»™t Ä‘oạn code Ä‘Æ¡n giản giúp tạo scroll pane xem nhÆ° là Container của bảng
Trích:
JScrollPane scrollPane = new JScrollPane(table);
table.setFillsViewportHeight(true);
Hai đoạn mã trên dùng để làm các công việc sau :
- Hàm khởi tạo của JScrollPane có tham số là bảng, nó sẽ tạo ra má»™t JScrollPane đồng thá»i tá»± Ä‘á»™ng thêm bảng vào JScrollPane.
- JTable.setFillsViewportHeight được gá»i để thiết lập thuá»™c tính fillsViewportHeight. Khi giá trị này là TRUE tức là sá»­ dụng toàn bá»™ chiá»u cao của container, ngay cả khi bảng không có đủ hàng để sá»­ dụng toàn bá»™ không gian dá»c. và sẽ tạo ra thành cuá»™n để ngÆ°á»i dùng có thể để dàng thao tác
Scroll pane tự độn đặt tiêu đỠcủa bảng ở trên cùng, ngay cả khi chúng ta kéo thanh cuộn xuống dưới, tiêu đỠcủa bảng vẫn luôn luôn được nhìn thấy.

Cài đặt và thay đổi độ rộng của cột

Mặc địch, Ä‘á»™ rá»™ng của các cá»™t trong jtable là bằng nhau, ngay cả khi có sá»± tác Ä‘á»™ng của ngÆ°á»i dùng, thay Ä‘á»—i Ä‘á»™ rá»™ng của các cá»™t, các cá»™t cÅ©ng sẽ được thay đổi tÆ°Æ¡ng ứng
Äể thay đổi Ä‘á»™ rá»™ng mặc định của cá»™t, bạn cần sá»­ dụng hàm setPreferredWidth cho từng cá»™t trên bảng của các bạn. Ví dụ thêm Ä‘oạn code sau vào SimpleTableDemo để tăng chiểu rá»™ng của cá»™t thứ 3 lÆ¡n hÆ¡n các cá»™t còn lại.
Trích:
TableColumn column = null;
for (int i = 0; i < 5; i++) {
column = table.getColumnModel().getColumn(i);
if (i == 2) {
column.setPreferredWidth(100); //cột thứ 3 sẽ rộng hơn
} else {
column.setPreferredWidth(50);
}
}
Sá»­ dụng Selections (cách chá»n dữ liệu trên bảng)



Các chủ đỠkhác cùng chuyên mục này:

Tài sản của The Creator

Chữ ký của The Creator
Click vào quảng cáo là góp phần không nhỠgiúp cho 4vn duy trì và phát triển
Trả Lá»i Vá»›i Trích Dẫn
Äã có 2 Thành viên nói CÃM Æ N đến bài viết rất có ích của The Creator
Trả lá»i

Từ khóa được google tìm thấy
an cot trong jtable, cac ham voi jtable, chinh sua jtable, dua cac dong vao jtable, dua du lieu vao jtable, dung vector trong java, èðêóòñê, îäíîêëàñíèêè, insert data vao jtable, jtabenned trong eclipse, jtable khoa cot, jtable trong eclipse, jtable trong java, jtable trong jvascript, jtable vector trong java, jtable voi vector, khoi tao jtable rong, lay gia tri jtable, lay gia tri jtable java, lay gia tri trong jtable, load csdl lên jtable, load du lieu len jtable, nap du lieu len jtable, òåñëà, óðàëñèá, sá»­ dung jtable, su dung php trong java, table trong java, tao bang trong java, tao cot jtable, tao table trong eclipse, tạo jtable, tạo jtable trong java, tạo table trong java, thao tác vá»›i jtable, thay title table java, thêm csdl vào jtable, thêm vào jtable, them dong vao jtable, them du lieu vao jtable, them trong jtable, them voi jtable, thuoc tinh jtable eclip, tieu de jtable, tinh tong trong jtable, ve table trong j2me

Ãiá»u Chỉnh


©2008 - 2014. Bản quyá»n thuá»™c vá» hệ thống vui chÆ¡i giải trí 4vn.euâ„¢
Diễn đàn phát triển dựa trên sự đóng góp của tất cả các thành viên
Tất cả các bài viết tại 4vn.eu thuá»™c quyá»n sở hữu của ngÆ°á»i đăng bài
Vui lòng ghi rõ nguồn gốc khi các bạn sử dụng thông tin tại 4vn.eu™