Nắm được các khái niệm hộp thoại, menu, canvas, panel.
Biết cách khai thác các thành phần trên trong chương trình Java
Nắm vững cách viết một chương trình đồ họa
25 trang |
Chia sẻ: Mr Hưng | Lượt xem: 958 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Lập trình giao diện đồ họa - Chương 2, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
GV : Nguyễn Phúc Hảo *Lập trình giao diện đồ họaChương 2(tt)GV : Nguyễn Phúc Hảo *Mục tiêu bài họcNắm được các khái niệm hộp thoại, menu, canvas, panel.Biết cách khai thác các thành phần trên trong chương trình JavaNắm vững cách viết một chương trình đồ họaGV : Nguyễn Phúc Hảo *Hộp thoại ?GV : Nguyễn Phúc Hảo *Hộp thoại ?GV : Nguyễn Phúc Hảo *Hộp thoại ?GV : Nguyễn Phúc Hảo *Hộp thoại ?GV : Nguyễn Phúc Hảo *Hộp thoại trong awtDialog d = new Dialog(Frame f, String title)Dialog d = new Dialog(Frame f, String title,int chedochuyen)Có các hàm như :+ setVisible(boolean b) =>Hiện Dialog+ dispose() =>Hủy DialogGV : Nguyễn Phúc Hảo *Hộp thoại tập tin trong gói awtTạo đối tượng tập tinFileDialog frame = new FileDialog(Frame f, String title, int mode);FileDialog frame = new FileDialog(Frame f, String title);// mode : FileDialog.LOAD | FileDialog.SAVE dùng để đọc và ghi nội dungGV : Nguyễn Phúc Hảo *Hộp thoại tập tin trong gói awt( tt)Các thuộc tính cơ bản trong đối tượng tập tin+ setFile(String dangtaptin) => Xác định dạng tập tin có thể hiển thịVí dụ :dangtaptin = "*.java"+ setDirectory(String thumuc) => Chỉ định thư mục+ setLocation(int x,int y) => Vị trí hiển thị + setVisible(boolean b) => Hiện ẩn+ getFile() => Trả về tên tập tin được chọnGV : Nguyễn Phúc Hảo *Hộp thoại tập tin trong gói awt( tt)Ví dụ :public class UseFileDialog { public String loadFile (Frame f, String title, String defDir, String fileType) {FileDialog fd = new FileDialog(f, title, FileDialog.LOAD); fd.setFile(fileType); fd.setDirectory(defDir); fd.setLocation(50, 50); fd.show(); return fd.getFile(); }GV : Nguyễn Phúc Hảo *Hộp thoại tập tin trong gói awt( tt)public String saveFile (Frame f, String title, String defDir, String fileType) {FileDialog fd = new FileDialog(f, title,FileDialog.SAVE);fd.setFile(fileType);fd.setDirectory(defDir);fd.setLocation(50, 50);fd.show();return fd.getFile();}GV : Nguyễn Phúc Hảo *Hộp thoại tập tin trong gói awt( tt)public static void main(String s[]) {UseFileDialog ufd = new UseFileDialog();System.out.println ("Loading : " + ufd.loadFile(new Frame(), "Open...", ".\\", "*.java"));System.out.println ("Saving : " + ufd.saveFile(new Frame(), "Save...", ".\\", "*.java")); System.exit(0); }}GV : Nguyễn Phúc Hảo *Hộp thoại thông báo trong gói swingCách dùng : JoptionPane.showMessageDialog(Frame f,String thbao, String tde , JOptionPane.ERROR_MESSAGE);/*new JoptionPane(String thbao, JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION) */ f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setVisible(true);GV : Nguyễn Phúc Hảo *Hộp thoại thông báo trong gói swing(tt)Các phương thức cơ bản trong lớp JoptionPanevoid showMessageDialog(ComponentpCpn, Object message, Stringtitle, int messageType)String showInputDialog(ComponentpCpn, Object message, Stringtitle, int messageType)int showConfirmDialog(ComponentpCpn, Object message, Stringtitle, int optionType, int messageType)GV : Nguyễn Phúc Hảo *Hộp thoại thông báo trong gói swing(tt)Xác định độ rộng và cao của màn hình Toolkit kit = Toolkit.getDefaultToolkit();Dimension screenSize = kit.getScreenSize();int screenWidth = screenSize.width;int screenHeight = screenSize.height;GV : Nguyễn Phúc Hảo *Menu Là dạng điều khiển thông thường, và xuất hiện hầu hết trong các chương trình ứng dụng dưới nhiều dạng hình thức khác nhauMenu thường dùng để mô tả các tính năng chính của ứng dụng và các chức năng khác nếu cần GV : Nguyễn Phúc Hảo *Minh họaGV : Nguyễn Phúc Hảo *GV : Nguyễn Phúc Hảo *Xây dựng menu theo mô hình thanChúng ta cần tạo một đối tượng(biến) MenuBar và đưa vào trình chứa có hổ trợ MenuBarSau đó tiến hành thêm các thành phần đối tượng Menu vào đối tượng MenuBar ở trênNếu trong Menu bạn muốn có các mục chọn lựa thì bạn có thể chèn vào đó MenuItemCòn nếu muốn có Menu con thì cứ việc chèn Menu khác vàoGV : Nguyễn Phúc Hảo *Ví dụ :Frame f = ....MenuBar menuBar=new MenuBar();f.setMenuBar(menuBar);Menu file=new Menu("File");menuBar.add(file);Menu edit=new Menu("Edit");menuBar.add(edit);Menu help=new Menu("Help");menuBar.setHelpMenu(help);GV : Nguyễn Phúc Hảo *Ví dụ :MenuItem newItem= new MenuItem("New");file.add(newItem);MenuItem oItem = new MenuItem("Open");file.add(openItem);MenuItem sItem = new MenuItem("Save");file.add(saveItem);saveItem.setEnable(false);//phan code duoi them vao dayfile.addSeparator(); //phuong thuc nay dua mot hang phan cach vao menu FileMenuItem eItem=new MenuItem("Exit"); file.add(exitItem);GV : Nguyễn Phúc Hảo *Ví dụ ://Tạo menu con :Menu print=new Menu("Setup Print");file.add(print);MenuItem previewItem=new MenuItem("Preview");print.add(previewItem);MenuItem printItem=new MenuItem("Print");print.add(printItem);// Checkbox menuCheckboxMenuItem autosave=newCheckboxMenuItem("Auto Save");file.add(autosave);GV : Nguyễn Phúc Hảo *CanvasThường dùng làm khung vẽĐể vẽ theo ý thích, người dùng thường viết lại các lệnh trong hàm paintKhởi tạo :Canvas c = new Canvas(){public void pain(Graphics g){ g.fillRect(30,30,100,100);} }GV : Nguyễn Phúc Hảo *Canvas( tt)Các phương thức cơ bản :repaint() => Gọi lại hàm paintsetVisible(boolean b) =>Hiện | ẩnsetSize(int width,int height) => Kích thướcDùng :Đơn giản bỏ vào Frame bằng cách dùng CardLayoutGV : Nguyễn Phúc Hảo *Chúc các bạn học tập tốt
Các file đính kèm theo tài liệu này:
- session02_tttt__7771.ppt