Thứ Bảy, 9 tháng 3, 2013

Sử dụng SwingX trong Netbeans

Giới thiệu


Dự án SwingLabs SwingX chứa các mở rộng của bộ Swing GUI, bao gồm các component mới và nâng cao cung cấp các chức năng nhằm đáp ứng cho các ứng dụng rich client. Một số thành phần nổi bật đáng chú ý gồm:

-Sorting, filtering, highlighting for tables, trees, and lists
-Find/search
-Auto-completion
-Login/authentication framework
-TreeTable component
-Collapsible panel component
-Date picker component
-Tip-of-the-Day component

Nhiều tính năng này sẽ được kết hợp vào trong bộ Swing, mặc đù tính tương thích của API sẽ không được bảo đảm. Nếu bạn đang tìm kiếm và tải về tài liệu hướng dẫn về SwingLabs, hãy  truy cập vào trangSwingLabs.org. Trang web cũng có chứa thông tin, liên kết và hướng dẫn hữu ích để bạn nghiên cứu... Lưu ý là tất cả các dự án lõi của SwingLabs đều sử dụng Java 5 (JDK 1,5, "Tiger").

Sử dụng swingx trong Netbeans


Bước 1: Tạo thư viện trong Netbeans


Để sử dụng SwingX trong Netbeans, đầu tiên ta tạo libraries cho swingx để thuận tiện trong việc sử dụng các thư viện jar sau này, nên add vào trong thư viện của netbeans.

Để làm được điều này, tiến hành thực hiện lần lượt các thao tác:

- Mở Tool -> Libraries.



 

-  Chọn New libraries và đặt tên một library theo ý bạn. 



- Trong tab classpath, add jar/folder... : dẫn vào file jar bạn muốn sử dụng làm thư viện.

Nếu muốn sử dụng javadoc cho thư viện này. Bạn chọn thư viện này, ở tab javadoc, bạn chọn thư mục javadoc (thư mục chứa file index). Lúc đó, bạn thao tác trên thư viện này, mặc nhiên nó sẽ có bản hướng dẫn javadoc cho bạn.

Bước 2: Đưa thư viện vào sử dụng


Ta lần lượt tiến hành các bước sau:

- Ở bên phải (giao diện component của GUI), nhấn chọn Create new category để tạo mới một category để tiện thao tác.



- Sau đó nhấp phải, chọn Pallete Manager...



 - Chọn Add from libraries... , dẫn tới libraries bạn đã tạo ở bước trên, nhấn Next



- Chọn component bạn muốn thêm vào, bạn có thể chọn tất cả nếu muốn.



- Chọn category bạn muốn đưa những component này vào, thường nên để vào category mới tạo ở trước để tiện thao tác.



- Sau cùng bạn sẽ nhận thấy các thành phần giao diện được thêm vào trong Palette như sau:


Ví dụ: Làm nổi bật các dòng của JTable với SwingX


Chương trình sau đây đơn giản sử dụng lớp HighlighterFactory để làm nổi bật các dòng trong bảng với màu sắc tùy chọn để có được các kết quả mong muốn.

 



  1. /* 

  2. * To change this template, choose Tools | Templates 

  3. * and open the template in the editor. 

  4. */  

  5. package testswingx;  

  6. /** 


  7. * @author trungdd 

  8. */  

  9. import java.awt.Color;  

  10. import javax.swing.JFrame;  

  11. import javax.swing.JScrollPane;  

  12. import javax.swing.table.DefaultTableModel;  

  13. import org.jdesktop.swingx.JXTable;  

  14. import org.jdesktop.swingx.decorator.HighlighterFactory;  

  15. public class Client {  

  16. public Client() {  

  17. JFrame frame = create();  

  18. frame.setSize(300, 300);  

  19. frame.setVisible(true);  

  20. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

  21. }  

  22. public static void main(String[ args) {  

  23. new Client();  

  24. }  

  25. public JFrame create() {  

  26. Object[ data = {"Frank", "Kofi", "12", "Morny"};  

  27. DefaultTableModel model = new DefaultTableModel();  

  28. model.addColumn("Firstname");  

  29. model.addColumn("Lastname");  

  30. model.addColumn("Age");  

  31. model.addColumn("Nickname");  

  32. for (int i = 0;i < 15;i++) {  

  33. model.addRow(data);  

  34. }  

  35. JFrame frame = new JFrame();  

  36. JXTable table = new JXTable();  

  37. table.setModel(model);  

  38. //editable  

  39. table.setHighlighters(HighlighterFactory.createAlternateStriping(  

  40. Color.CYAN.GRAY, Color.PINK.YELLOW));  

  41. frame.getContentPane().add(new JScrollPane(table));  

  42. return frame;  

  43. }  

  44. }  



 

Kết quả:

 



 

 

1 nhận xét:

  1. I’ve been exploring for a bit for any high quality articles or weblog posts on this sort of house . Exploring in Yahoo I at last stumbled upon this site. Reading this information So i’m glad to express that I have an incredibly good uncanny feeling I came upon exactly what I needed. I such a lot for sure will make certain to do not overlook this website and give it a glance regularly.

    Trả lờiXóa