LẬP TRÌNH JAVA - Chapter 9

Chia sẻ: Vo Hoang Huynh | Ngày: | Loại File: PPT | Số trang:62

0
100
lượt xem
52
download

LẬP TRÌNH JAVA - Chapter 9

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo về CNTT

Chủ đề:
Lưu

Nội dung Text: LẬP TRÌNH JAVA - Chapter 9

  1. LẬP TRÌNH JAVA Chương 9: Bắt đầu với lập trình GUI Phạm Quang Dũng BM KHMT - Khoa CNTT - Trường ĐHNN I
  2. Nội dung chương 9 3 Sơ đồ phân cấp lớp GUI 3 Frames – Tạo frame, centering frames, adding components to frames 3 Layout Managers – FlowLayout, GridLayout, BorderLayout 3 Drawing on Panels – The paintComponent method 3 Using Colors, Fonts, and Font Metrics 3 Drawing Geometric Figures – Lines, Rectangles, Ovals, Arcs, and Polygons 3 Event-Driven Programming – Event Source, Listener, Listener Interface
  3. Các thành phần GUI 3 Các đối tượng GUI: button, label, text field, check box, radio button, combo box, … 3 Mỗi loại đối tượng được xác định trong 1 lớp: JButton, JLabel, JTextField, JCheckBox, JRadioButton, JComboBox, … 3 Mỗi lớp thành phần GUI có một số constructor để tạo các đối tượng thành phần GUI.
  4. Swing vs. AWT 3 AWT: Abstract Windows Toolkit: – Java 1 – Được gắn với platform xác định – Thích hợp với việc phát triển các ứng dụng GUI đơn giản. 3 Swing components: – Java 2 – Không gắn với platform cố định – Mạnh, đa năng, linh hoạt
  5. Sơ đồ phần cấp lớp GUI (Swing) Dimension Classes in the java.awt LayoutManager package Heavyweight Font 1 FontMetrics Object Color Panel Applet JApplet Graphics Component Container Window Frame JFrame * Dialog JDialog JComponent Swing Components in the javax.swing package Lightweight
  6. JComponent JCheckBoxMenuItem JMenuItem JMenu AbstractButton JButton JRadioButtonMenuItem JToggleButton JCheckBox JRadioButton JComponent JEditorPane JTextComponent JTextField JPasswordField J TextArea JLabel JList JComboBox JMenuBar JPanel JOptionPane JScrollBar JScrollPane JTabbedPane JFileChooser JPopupMenu JSeparator JSlider JRootPane JPane JProgressBar JToolBar JSplitPane JTable JTree JInternalFrame JToolTip JLayeredPane JTableHeader JColorChooser
  7. Các lớp GUI: nhóm container 3 Được dùng để chứa các thành phần khác. 3 Các lớp container (Swing): – Container – JFrame – JDialog – JApplet – JPanel
  8. Các lớp GUI: nhóm component 3 Gồm các subclass của lớp JComponent. 3 Các lớp GUI component (Swing): – JButton – JLabel – JTextField – JTextArea – JComboBox – JList – JRadioButton – JMenu – …
  9. Các lớp GUI: nhóm helper 3 Được các component và container dùng để vẽ và đặt các đối tượng. 3 Các lớp helper (Swing): – Graphics – Color – Font – FontMetrics – Dimension – LayoutManager
  10. AWT (Optional) AWTEvent Container Panel Applet Font Button Window Frame FontMetrics Label Dialog FileDialog TextField Object Color TextComponent TextArea Graphics List Component Choice CheckBox LayoutManager CheckBoxGroup Canvas MenuComponent MenuItem Menu MenuBar Scrollbar
  11. Các thành phần giao diện người sử dụng Frame Pull-down Menus Applet Pull-down Menus Panel Panel Panel User Interface Components (UI) User Interface User Interface Components Components Panel Panel Panel User Interface User Interface Panel Panel Panel Components Components UI UI UI panel
  12. Frames 3 Frame là một cửa sổ không chứa trong cửa sổ khác. 3 Frame là nền tảng để chứa các thành phần GUI khác trong các ứng dụng Java GUI. 3 Trong các chương trình Swing GUI, sử dụng lớp JFrame để tạo các cửa sổ.
  13. Tạo Frame import javax.swing.*; public class MyFrame { public static void main(String[] args) { JFrame frame = new JFrame("Test Frame"); frame.setSize(400, 300); frame.setVisible(true); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); } } Chú ý: Chạy chương trình cần JDK 1.3 hoặc cao hơn MyFrame
  14. Căn giữa Frame  Mặc định, frame được hiển thị ở góc trên bên trái của màn hình.  Để hiển thị frame ở một vị trí xác định, sử dụng phương thức setLocation(x, y) trong lớp JFrame.  Phương thức này đặt góc trái trên của frame tại vị trí có tọa độ (x, y).
  15. Căn giữa Frame (tiếp) (0, 0) Screen (x, y) Frame getHeight() screenHeight getWidth() screenWidth CenterFrame
  16. Đưa các thành phần vào trong Frame // Dua nut bam vao trong frame frame.getContentPane().add( new JButton("OK")); MyFrameWithComponents
  17. LƯU Ý Content pane là một lớp con của Container. Câu lệnh ở slide trước tương đương với 2 câu lệnh sau: Container container = frame.getContentPane(); container.add(new JButton("OK")); Content pane được sinh ra khi một đối tượng JFrame được tạo. Đối tượng JFrame sử dụng content pane để chứa các thành phần trong frame.
  18. Layout Managers 3 Các layout manager của Java cung cấp cơ chế để tự động ánh xạ các thành phần GUI của bạn trên tất cả các hệ thống cửa sổ. 3 Các thành phần GUI được đặt trong các container. Mỗi container có một layout manager để sắp xếp các thành phần đó.
  19. Thiết lập Layout Manager LayoutManager layMan = new XLayout(); container.setLayout(layMan); 3 XLayout: – FlowLayout – GridLayout – BorderLayout – CardLayout – GridBagLayout
  20. Ví dụ 9.1: FlowLayout Manager Các thành phần được sắp xếp trong container từ trái sang phải, từ trên xuống dưới theo thứ tự chúng được đưa vào. ShowFlowLayout
Đồng bộ tài khoản