Giới thiệu Swing Control
Mỗi UI (User Interface) bao gồm ba mặt chính: Mỗi SWING control kế thừa các thuộc tính từ cấu trúc thứ bậc của lớp Component. Lớp Component trong Java Swing Lớp Component là lớp abstract cho các điều khiển trên UI mà không có menu của SWING. Component biểu diễn một đối tượng với sự biểu ...
Mỗi UI (User Interface) bao gồm ba mặt chính:
Mỗi SWING control kế thừa các thuộc tính từ cấu trúc thứ bậc của lớp Component.
Lớp Component trong Java Swing
Lớp Component là lớp abstract cho các điều khiển trên UI mà không có menu của SWING. Component biểu diễn một đối tượng với sự biểu diễn đồ họa. Sau đây là cú pháp để khai báo lớp:
public abstract class Component extends Object implements ImageObserver, MenuContainer, Serializable
Lớp Component này có một Constructor có tên là protected Component(). Nó được sử dụng để tạo một Component mới.
Lớp Component bao gồm các trường sau:
static float BOTTOM_ALIGNMENT: Hằng này dễ dàng sử dụng cho getAlignmentY.
static float CENTER_ALIGNMENT: Hằng này dễ dàng sử dụng cho getAlignmentY và getAlignmentX.
static float LEFT_ALIGNMENT: Hằng này dễ dàng sử dụng cho getAlignmentX.
static float RIGHT_ALIGNMENT: Hằng này dễ dàng sử dụng cho getAlignmentX.
static float TOP_ALIGNMENT: Hằng này dễ dàng sử dụng cho getAlignmentY.
Lớp Container trong Java Swing
Đây là lớp cha của các Container của AWT. Đối tượng Container có thể chứa các thành phần AWT khác. Sau đây là cú pháp để khai báo lớp:
public class Container extends Component
Lớp Container có một constructor là Container() để tạo một Container mới.
Lớp JComponent trong Java Swing
Là một lớp cơ sở cho tất cả các thành phần UI. Để sử dụng một thành phần Swing mà kế thừa từ JComponent, thành phần đó phải ở trong một cấu trúc mà có root là Swing Container ở cấp độ cao nhất. Sau đây là cú pháp khai báo lớp:
public abstract class JComponent extends Container implements Serializable
Lớp JComponent này có một constructor mặc định là JComponent().
Lớp java.awt.JComponent bao gồm các trường sau:
protected AccessibleContext accessibleContext: AccessibleContext được liên kết với JComponent này.
protected EventListenerList listenerList: Một danh sách các Event Listener cho thành phần này.
static String TOOL_TIP_TEXT_KEY: Là comment để hiển thị khi con trỏ di chuyển qua thành phần, nó còn được biết với các tên gọi như value tip, flyover help.
protected ComponentUI ui: Ủy nhiệm L&F cho thành phần này.
static int UNDEFINED_CONDITION: Hằng được sử dụng bởi một số APIs, có ý nghĩa là không có điều kiện nào được xác định.
static int WHEN_ANCESTOR_OF_FOCUSED_COMPONENT: Hằng được sử dụng cho registerKeyboardAction, có nghĩa là lệnh nên được triệu hồi khi thành phần đang nhận là một cha của thành phần được focus hoặc là chính thành phần được focus của nó.
static int WHEN_FOCUSED: Hằng được sử dụng cho registerKeyboardAction, có nghĩa là lệnh nên được triệu hồi khi thành phần có focus.
static int WHEN_IN_FOCUSED_WINDOW: Hằng được sử dụng cho registerKeyboardAction, có nghĩa là lệnh nên được triệu hồi khi thành phần đang nhận là trong cửa sổ có focus hoặc là chính thành phần được focus của nó.
Các phần tử Swing UI
Bảng dưới đây liệt kê danh sách các control được sử dụng phổ biến nhất trong khi thiết kế GUI bởi sử dụng SWING.
STT | Control & Miêu tả |
---|---|
1 | Lớp JLabel Một đối tượng JLabel là một thành phần để đặt text vào trong một Container |
2 | Lớp JButton Lớp này tạo một button đã được gán nhãn |
3 | Lớp JTable Lớp JTable được sử dụng để hiển thị dữ liệu trên các ô của bảng hai chiều |
4 | Lớp Graphics Lớp này cung cấp nhiều phương thức để lập trình đồ họa |
5 | Lớp JColorChooser Một JColorChooser cung cấp một pane gồm các control được thiết kế để cho phép một người dùng thao tác và lựa chọn màu |
6 | Lớp JCheck Box Một JCheckBox là một thành phần đồ họa mà có thể trong trạng thái on (true) hoặc off (false) |
7 | Lớp JRadioButton Lớp JRadioButton là một thành phần đồ họa mà có thể trong trạng thái on (true) hoặc off (false) trong một nhóm |
8 | Lớp JList Một thành phần JList biểu diễn cho người dùng một danh sách các item |
9 | Lớp JComboBox Một thành phần JComboBox biểu diễn cho người dùng một menu các lựa chọn |
10 | JTextField Một đối tượng JTextField là một thành phần text cho phép chỉnh sửa một dòng text đơn |
11 | Lớp JTextArea Một đối tượng JTextArea là một thành phần text cho phép sửa đổi một text có nhiều dòng |
12 | Lớp ImageIcon Một ImageIcon control là một trình triển khai của Icon Interface mà tô màu các Icon từ Image |
13 | Lớp JScrollbar Một Scrollbar control biểu diễn một thành phần scroll bar để cho người dùng khả năng lựa chọn từ trong một dãy các giá trị |
14 | Lớp JOptionPane JOptionPane cung cấp tập hợp các dialog box chuẩn mà gợi ý người dùng về một giá trị hoặc thông báo cho họ một cái gì đó |
15 | JFileChooser Một JFileChooser control biểu diễn một dialog window từ đó người dùng có thể lựa chọn một file |
15 | Lớp JProgressBar Thanh tiến trình hiển thị phần trăm hoàn thành tác vụ đang diễn ra |
17 | Lớp JSlider Một JSlider cho phép người dùng lựa chọn một giá trị từ một dãy cụ thể |
18 | Lớp JSpinner Một JSpinner là một trường input dòng đơn, cho phép người dùng lựa chọn một số hoặc một giá trị đối tượng từ dãy đã qua sắp xếp |
Một số chương trình ứng dụng đơn giản sử dụng Java Swing
Tạo Digital Clock
Hiển thị hình ảnh
Tạo Edit Menu cho Notepad
Tạo Open Dialog Box