Lap Trinh java bai giang chuong 4

55 419 0
Lap Trinh java  bai giang chuong 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập trình cơ bản với Java Tác giả: PGS.TS Trần Văn Lăng, Ths. Chu Nguyên Hoàng Minh Giúp các bạn tiếp cần gần hơn với bộ môn lập trình để trở thành một Lập trình viên suất sắc Lập trình cơ bản với Java Tác giả: PGS.TS Trần Văn Lăng, Ths. Chu Nguyên Hoàng Minh Giúp các bạn tiếp cần gần hơn với bộ môn lập trình để trở thành một Lập trình viên suất sắc

Môn học: Lập trình với Java Chương IV: Lậ Th Mục í – Yêu cầu: Sau học xong sinh viên nắm được:  g  C n ắ h hư  g n g n n ng g n nh  n Số tiết lên lớp: 10 Bảng phân chia thờ lượng: Stt 01 02 03 04 g C n ắ h hư n g n nh n Nội dung g n ng g n Tr ng tâm giảng:   C   g n ắ h hư n g n g n ng g n nh n 156 Số tiết 4.1 Mở ầu Chương n ng ấp cho sinh viên ki n thứ hương (Graphic User Interface - GUI) củ n để xây d ng giao di n nh ứng dụng ngôn ngữ java:  Những nguyên tắc thi t k giao di n  Những hư n, gói xây d ng giao di n: gồm lớp (class), giao ti p (interface) qu n lý s ki n thành phần (components) xây d ng nên giao di n người dùng  B qu n lý trình bày (layout managers)  X lý s ki n Trong khuôn khổ giáo trình lập k GUI ùng hư ng h 4.2 Giới thi u Thư hương R ăn n trình bày vi c thi t n awt (abstract windows toolkit) Vi c thi t k t GUI tr c quan, uyển chuyển h húng giới thi nh j dụng hư n JFC (Java Foundation Class) giớ n đề java nâng cao v n awt ([1] trang 82, [2] trang 367) n awt b hư n ùng để xây d ng giao di n người dùng cho m t nh ứng dụng đầ đủ thành phần n Ch Te Giống hưng khác vớ e L Fe Te n như: L e Ae S Men F me… API Windows, java cung cấp h người lập h m API hư n Che nh hư n awt n awt không phụ thu c h đ ề h nh Thư t ng giúp cho ti p cận vớ hư Cấu trúc phân cấp tất c lớp n mở r ng JFC hi u qu ng hư n awt xem chi ti t tài li u kèm theo b công cụ j2se (phần API Specification) 157 n awt 4.3 Các khái ni m ([1] trang 86, [2] trang 375) 4.3.1 Component Component m đố ượng có biểu diễn đồ họ hiển thị hình mà người dùng ương Chẳng hạn nút nhấn (button), … Lớp Component m t lớp trừ checkbox, ượng java.lang.Object java.awt.Component 4.3.2 Container C n đố ne đố ượng vật chứa hay đố ượng có kh ượng khác lại Những đố he n n lý nhóm ượng thu c thành phần w như: … hỉ s dụng đượ h đư n n h ng hứa (container) M t số đố ượng container Java: Panel: Đố ượng khung đơn g n nhấ ùng để nhóm đố ượng, thành phần lại M t Panel chứa bên m t Panel khác java.lang.Object + java.awt.Component + java.awt.Container + java.awt.Panel Frame: khung chứa Frame m t c a số window hẳn hoi mức bao gồm m t m đường n ( e ) ứng dụng w n w hông hường khác Khung F me hường s dụng để tạo c a sổ ứng dụng 158 java.lang.Object + java.awt.Component + java.awt.Container + java.awt.Window + java.awt.Frame Dialogs: đ y m t c a sổ dạng h p h i thoại (c a sổ dạng n window), c a sổ dạng n li u nhập từ ng hường đượ hông chẳng hạn Dia g ũng ùng để đư òn gọi pop-up hông h đố ượng, thành phần n ùng để lấy g Te F e m t c a sổ hông đầ đủ đố ượng khung chứa Frame java.lang.Object + java.awt.Component + java.awt.Container + java.awt.Window + java.awt.Dialog ScrollPanes: m t khung ương khung P ne em đượ giúp ta tổ hình nh h ăn đố ượng lớn choán nhiều chỗ h m h nh ượt n m n h nh n nhiều dòng java.lang.Object + java.awt.Component + java.awt.Container + java.awt.ScrollPane 4.3.3 Layout Manager ([1] trang 180, [2] trang 378) Khung chứa container nhận th n đố ượng từ để tổ chức x p “ hỗ ở” h n ng đố ượng đ FlowLayout: Sắp x p giữ ng nh m hư đấ đ qu n lý trình bày n AWT cung cấp cho ta bao gồm: đố ượng từ trái qua ph i từ xuống ướ C đố ượng n í h hước BorderLayout: C đố ượng đượ đặt the đường viền khung chứa theo cạnh West, East, South, North Center tứ Đông T Trái, Ph n ph i bi t làm Mỗ đố ượng khung có m t b qu n lý chịu trách nhi m th c hi n công vi (Layout Manager) Các b qu n đư T n Dưới Giữa tùy theo cách nhìn 159 m ắc Trung tâm hay vừ GridLayout: Tạo m h ng ưới vô hình với ô nh í h hước với ô đ Thứ t x p ũng trái qua ph i từ xuống ưới GridBagLayout: Tương đư m ướ ô h nh T G L C đối ượng đặt đố ượng khung nh n í h hướ với ô mà 2, nhiề ù ũng đố ượng không thi t ph i vừa he ng c mà ta định thông qua đố ượng GridBagConstraint Null Layout: Cách trình bày t t đ ng làm tất c từ vi Đối vớ định í h hước củ h n người lập trình ph i đố ượng ũng hình Ta không phụ thu c vào ràng bu 4.4.Thiết kế GUI c nh đông định vị trí n m ắc c c ươ 4.4.1.Tạo khung chứa cửa sổ c ươ Thông hường để tạo c a sổ hính h hương  Tạ đố ượng Frame  định í h hước Frame  Thể hi n Frame hình Ví dụ: import java.awt.*; class FrameDemo{ public static void main(String args[]){ // Tạ đố ượng khung chứaFrame Frame fr = new Frame("My First Window"); // định í h hước, vị trí Frame fr.setBounds(0, 0, 640, 480); // Hiển thị Frame fr.setVisible(true); } } Kết thực c ươ : 160 nh ứng dụng ta ti n h nh ước: 4.4.2 Tạo h thống thực Đối vớ hư n w để xây d ng h thống th đơn h hương dùng lớp MenuBar, Menu, MenuItem, MenuShortcut Ví dụ: Tạo h thống th đơn h hương nh C import java.awt.*; import java.awt.event.*; class Calculator{ public static void main(String[] args){ createMenu(); } private static void createMenu(){ // Tao Frame ung dung final Frame fr = new Frame(); fr.setLayout(new BorderLayout()); // Tao cac menu bar MenuBar menu = new MenuBar(); Menu menuFile = new Menu("Edit"); MenuItem copyItem = new MenuItem("Copy Ctrl+C"); MenuItem pasteItem = new MenuItem("Paste Ctrl+V"); 161 nh ứng dụng menuFile.add(copyItem); menuFile.add(pasteItem); Menu menuHelp = new Menu("Help"); MenuItem hTopicItem = new MenuItem("Help Topics"); MenuItem hAboutItem = new MenuItem("About Calculator"); menuHelp.add(hTopicItem); menuHelp.addSeparator(); menuHelp.add(hAboutItem); menu.add(menuFile); menu.add(menuHelp); fr.setMenuBar(menu); fr.setBounds(100, 100, 300, 200); fr.setTitle("Calculator"); //fr.setResizable(false); fr.setVisible(true); // x lý bi n s ki n đ ng a số ứng dụng fr.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } } Kết thực c ươ : 162 4.4.3 Gắn Component vào khung chứa Để gắn m t thành phần, m húng đố ượng component vào m t c a số (khung chứa) ùng phương hức add củ đố ượng khung chứa container Ví dụ: import java.awt.*; class AddDemo{ public static void main(String args[]){ // Tạ đố ượng khung chứaFrame Frame fr = new Frame("AddDemo App"); // Tạ đố ượng Component n O = new n(“OK”); // Gắn đố ượng nút nhấn vào khung chứa fr.add(buttOk); // định í h hước, vị trí Frame fr.setSize(100, 100); // Hiển thị Frame fr.setVisible(true); } } Kết thực c ươ : 163 4.4.4 Trình bày Component khung chứa ([1] trang 180, [2] trang 378) hư húng t khung chứa container nhận ph i bi t làm th n đố ượng từ để tổ chức x p “ hỗ ở” h n ng đố ượng đ ượng khung có m t b qu n lý chịu trách nhi m th c hi n công vi đư Mỗ đối đấ đ b qu n lý trình bày (Layout Manager) Chúng ta tìm hiểu chi ti t kiểu trình bày củ hư n AWT In e f e L M n ge định nghĩ giao ti p cho lớp bi làm th để trình bày containers 4.4.4.1 FlowLayout public class FlowLayout extends Object implements LayoutManager, Serializable Đối với m t container trình bày theo kiểu FlowLayout thì: x p theo thứ t từ trái sang ph i từ xuống Các component gắn ưới C mp nen í h hướ m ng m ốn N u chiều r ng củ C n tạo m t dòng mớ F wL ne hông đủ chỗ cho component chúng t đ ng hường đượ ùng để để x p button panel Chúng ta đ ều chỉnh kho ng cách component Ví dụ: import java.awt.*; import java.lang.Integer; class FlowLayoutDemo{ public static void main(String args[]){ Frame fr = new Frame("FlowLayout Demo"); 164 fr.setLayout(new FlowLayout()); fr.add(new Button("Red")); fr.add(new Button("Green")); fr.add(new Button("Blue")); List li = new List(); for (int i=0; i[...]... GridLayout, GridBagLayout, Null Layout) qu định cách trình bày và bố trí các components trong m t container Các lọai container trong java: Frame, Panel, Dialog, ScrollPanes 4. 4.5.1 Khung chứa Frame java. lang.Object + java. awt.Component + java. awt.Container + java. awt.Window + java. awt.Frame Khung chứa Frame là m t c a số window hẳn hoi ở mức trên cùng bao gồm m t đều và m đường n ( e ) như ứng dụng w n... định là 4. 4.5.2 Khung chứa Panel java. lang.Object + java. awt.Component + java. awt.Container + java. awt.Panel Khung chứa Panel có b qu n lý trình bày (LayoutManager) mặ định là Khung chứa Panel có b FlowLayout FlowLayout Đối với khung chứa Panel thì các Panel có thể lồng vào nhau, vì vậy khung chứa P ne hường đượ ùng để bố trí các nhóm components bên trong m t khung chứa khác Ví dụ: import java. awt.*;... public static void main(String arg[]){ Container f = new PanelDemo("Panel Demo"); f.setSize(300, 200); f.setVisible(true); } } Kết quả thực c ươ : 175 4. 4.5.2 Khung chứa Dialog java. lang.Object + java. awt.Component + java. awt.Container + java. awt.Window + java. awt.Dialog Dialog là m t lớp khung chứa t F me òn được gọi là popup window Có hai loại dialog phổ bi n: Modal Dialog: sẽ khóa tất c các c a số... constraints.gridheight = 1; constraints.gridwidth = 1; constraints.weightx = 3.0; layout.setConstraints(buttons[8], constraints); // Dua cac nut nhan khung chua chuong trinh for (int i=0;i ... container Các lọai container java: Frame, Panel, Dialog, ScrollPanes 4. 4.5.1 Khung chứa Frame java. lang.Object + java. awt.Component + java. awt.Container + java. awt.Window + java. awt.Frame Khung chứa... ng hương đố ượng phù hợp he đố ượng he L 2 04 phù hợp nh Câu 42 Th h n hương Câu 42 X nh ng ớp phương m n() Câu 43 Khở đượ Câu 44 Sắp Câu 45 Th p nh Câu 48 V nh ẽ g phương p nh nú đ ng hương nh... f.setVisible(true); } } Kết thực c ươ : 175 4. 4.5.2 Khung chứa Dialog java. lang.Object + java. awt.Component + java. awt.Container + java. awt.Window + java. awt.Dialog Dialog m t lớp khung chứa t

Ngày đăng: 19/02/2016, 22:02

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan