Xem mẫu

  1. LẬP TRÌNH JAVA SWING GUI FORM Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn ĐHKHTN - 2011
  2. Nội dung  JFrame  JDialog  JDesktopPane & JInternalFrame  JPanel
  3. JFrame – Hình ảnh 3
  4. JFrame  JFrame được sử dụng làm giao diện chính trong ứng dụng Swing (top-level windows)  Hầu hết các ứng dụng Swing được xây dựng từ JFrame 4
  5. JFrame – Mở rộng JFrame package packageName; 1 2 import javax.swing.*; 3 4 public class FrameName extends JFrame { 5 6 public FrameName() { 7 this.initComponents(); 8 } 9 /** 10 * Khởi tạo các thành phần 11 */ 12 private void initComponents() { 13 ... 14 pack(); 15 } 16 } 17 5
  6. JFrame – Hiển thị package packageName; 1 2 public class Main { 3 4 public static void main(String[] args) { 5 FrameName frm = new FrameName(); 6 frm.setVisible(true); 7 } 8 } 9 6
  7. JFrame – Một số phương thức thông dụng public void setDefaultCloseOperation(int operation);  Gán phương thức mặc định khi người dùng đóng Frame  Có 4 lựa chọn sau: – WindowContants.DO_NOTHING_ON_CLOSE – WindowContants.HIDE_ON_CLOSE – WindowContants.DISPOSE_ON_CLOSE – WindowContants.EXIT_ON_CLOSE 7
  8. Jframe – Một số phương thức thông dụng public void setExtendedState(int state);  Gán trạng thái của JFrame  Có 5 lựa chọn sau – JFrame.NORMAL – JFrame.ICONIFIED – JFrame.MAXIMIZED_HORIZ – JFrame.MAXIMIZED_VERT – JFrame.MAXIMIZED_BOTH 8
  9. JFrame – Một số phương thức thông dụng  public void setResizable(boolean resizable); – true: Cho phép thay đổi kích thước – false: không cho phép  public void setTitle(String title); – Gán tựa đề cho JFrame  public void setBackground(Color c); – Gán màu nền cho JFrame  public void setForeground(Color c); – Gán màu chữ cho JFrame 9
  10. JFrame – Một số phương thức thông dụng  public void setIconImage(Image image); • Gán hình ảnh Icon cho JFrame  public void setSize(Dimension d); public void setSize(int width, int height); • Gán kích thước cho JFrame  public void setLocation(Point p); public void setLocation(int x, int y); • Gán vị trí cho JFrame  public void setVisible(boolean visible); • true : hiện JFrame • false : ẩn Jframe  Tương tự cho các phương thức get/is 10
  11. JFrame – Một số phương thức thông dụng  public void dispose(); • Hủy  public Containter getCotentPane() – getContentPane.add 11
  12. Jframe – Ví dụ 1 12
  13. JFrame – Ví dụ 1 package swingcontainersample; 1 import javax.swing.*; 2 public class ViDu1Frame extends JFrame{ 3 public ViDu1Frame() { 4 super(); 5 this.initComponents(); 6 } 7 private void initComponents() { 8 this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 9 ImageIcon icon=new ImageIcon( 10 this.getClass().getResource("images/java-icon.jpg") 11 ); 12 this.setIconImage(icon.getImage()); 13 this.setTitle("Ví dụ 1"); 14 this.setLocation(0, 0); 15 this.setSize(300, 400); 16 this.setExtendedState(JFrame.NORMAL); 17 } 18 } 19 13
  14. JFrame – Ví dụ 1 package swingcontainersample; 1 2 public class Main { 3 4 public static void main(String[] args) { 5 ViDu1Frame frm = new ViDu1Frame(); 6 frm.setVisible(true); 7 } 8 } 9 14
  15. JFrame – Ví dụ 2 package swingcontainersample; 1 import javax.swing.*; 2 public class ViDu2Frame extends JFrame { 3 private JButton jbt1; 4 public ViDu2Frame() { 5 super(); 6 this.initComponents(); 7 } 8 private void initComponents() { 9 //JFrame 10 this.setTitle("Ví dụ 2"); 11 this.setSize(200, 100); 12 this.setExtendedState(JFrame.NORMAL); 13 //Buton 14 this.jbt1=new JButton(); 15 this.jbt1.setText("Button 1"); 16 this.add(this.jbt1); 17 } 18 } 19 15
  16. JDialog – Hình Ảnh 16
  17. JDialog  JFrame hay JDialog thường sử dụng JDialog nhập liệu hoặc xuất liệu  JDialog có 2 trạng thái – Modal: Khi Jdialog thực hiện xong mới được phép thao tác lên form cha . – Modeless: Sau khi hiển thị dialog, người dùng có thể thao tác lên form cha  JDialog thường được sử dụng với trạng thái Modal 17
  18. JDialog – Mở rộng JDialog package packageName; 1 2 import javax.swing.*; 3 4 public class NameDialog extends JDialog { 5 Dữ liệu + Các phương thức get/set (nếu có) 6 public NameDialog(JFrame parent, boolean modal){ 7 super(parent, modal); 8 this.intComponents(); 9 10 } 11 public NameDialog(JDialog parent, boolean modal){ 12 super(parent, modal); 13 this.intComponents(); 14 } 15 private void intComponents(){ 16 17 } } 18
  19. JDialog – Hiển thị JDialog  JFrame hay JDialog thường sử dụng JDialog nhập liệu hoặc xuất liệu  Jdialog thường được thiết lập ở trạng thái Modal, nghĩa là khi Jdialog thực hiện xong mới được phép thao tác lên form cha . 19
  20. JDialog – Hiển thị JDialog //JFrame hoặc JDialog khác gọi 1 2 private void jbuttonActionPerformed(ActionEvent evt){ 3 DialogName dlg=new DialogName (this, true); 4 Gán dữ liệu cho dlg thông qua set (nếu có) 5 dlg.setVisible(true); 6 Lấy dữ liệu cho dlg thông qua get (nếu có) 7 } 8 20