Vật chứa (Container)

Một phần của tài liệu Bài giảng ngôn ngữ lập trình Java doc (Trang 112 - 115)

Là vựng mà ta cú thể đặt cỏc thành phần (component) của giao diện. Một vật chứa cú thể chứa nhiều phần tử. Vật chứa thường được sử dụng là:

• JPanel - khung chứa đơn giản nhất, để nhúm cỏc đối tượng con lại và sắp xếp theo cỏch thớch hợp.

• JFrame - là một cửa sổ như mọi ứng dụng của windows, để tạo cỏc ứng dụng windows.

• JDialogs - là cửa sổ nhưng khụng đầy đủ chức năng như Frame, nú là cửa sổ hộp thoại đưa ra những lời thụng bỏo.

• JScrollPanel - khung chứa như Panel nhưng cú hai thanh trượt.

II.1 JFrame

Tạo đối tượng khung chứa JFrame bằng phương thức khởi tạo: void JFrame(); Tạo Frame với tiờu đề bờn trờn: void JFrame(String FrameTitle);

Vớ dụ:

JFrame frame1 = new JFrame();

JFrame frame2 = new JFrame("Cua so Frame"); import javax.swing.*;

public class FrameSample {

public static void main(String[] argvs) {

JFrame f = new JFrame(); f.setSize(400,400); f.setVisible(true); }

}

Một số phương thức hay sử dụng:

• Đặt lại kớch thước cho JFrame: frame1.setSize(int width, int height); • Đưa cửa sổ hiện ra màn hỡnh: frame1.show();

frame1.setVisible(boolean b); trong đú: b = true cho hiển thị, b = false cho ẩn.

• Bỏ hoàn toàn đối tượng JFrame: frame1.dispose();

• Thay đổi tiờu đề cho JFrame: frame1.setTitle(String newTitle); • Lấy tiờu đề của JFrame: public String getTitle();

• Co dón JFrame: public void setResizable(boolean b); trong đú: b = true thỡ Frame cú thể thay đổi kớch thước, b = false thỡ khụng đổi.

• Xỏc định JFrame đang ở tỡnh trạng nào: public boolean isResizable(); • Thay đổi biểu tượng JFrame: public setIconImage(Image img);

II.2 JPanel

JPanel khụng thể nhỡn thấy trực tiếp, nú là đối tượng dựng để chứa cỏc thành phần GUI trờn màn hỡnh. Do đú chỳng ta cần gắn JPanel vào đối tượng nào đú như: JFrame, JApplet, ...

Tạo khung chứa JPanel bằng phương thức khởi tạo: JPanel panel1 = new JPanel(); Vớ dụ sau tạo một đối tượng JPanel và đặt vào nú một đối tượng nỳt bấm JButton.

import javax.swing.*; public class FrameSample {

public static void main(String[] argvs) {

JFrame f = new JFrame(); JPanel p = new JPanel(); p.add(new JButton("OK"));

f.add(p); // gắn JPanel vào JFrame f.setSize(400,400);

f.setVisible(true); }

}

II.3 JDialog

Như JFrame, nhưng ớt chức năng hơn, cũn được gọi là popup-window. Ta cú thể tạo JDialog dưới hai hỡnh thức:

• modal: là cửa sổ JDialog khi thực hiện sẽ khoỏ chặt cỏc cửa sổ khỏc. Cửa sổ này thường yờu cầu một tỏc vụ nào đú cần phải hoàn thành ngay.

• non-modal: ngược lại với modal, cửa sổ này thớch ứng với cỏc thao tỏc mang tớnh tuỳ biến.

Cỏch tạo khung chứa JDialog từ phương thức khởi tạo: public JDialog(JFrame parentWindow, boolean isModal);

trong đú: isModal - quyết định xem JDialog được tạo ra ở dạng nào: isModal = true cho modal cũn isModal = false cho non-modal.

Vớ dụ: JDialog myDialog = new JDialog(myWindow, true) Tạo JDialog cú tiờu đề định trước:

public JDialog(Frame parentWindow, String title, boolean isModal)

JDialog khụng thể gắn với Applet, muốn đưa ra một JDialog từ JApplet ta phải tạo ra một JFrame giả tạo.

Đưa đối tượng JDialog ra màn hỡnh bằng phương thức show(). Giấu cửa sổ JDialog ta dựng phương thức: hide().

Ẩn hiện JDialog ta cũn cú phương thức: setVisible(boolean).

Cỏc đặc điểm thường sử dụng với đối tượng JDialog thể hiện tương tự với JFrame. Lấy và thay đổi kớch thước JDialog: public setResizable(boolean), boolean isResizable() Đặt và lấy tiờu đề của JDialog: void setTitle(String), String getTitle();

Xỏc minh một JDialog đang thuộc dạng nào ta gọi phương thức: public boolean isModal() Chương trỡnh sau đõy sẽ ẩn hoặc hiện một Jdialog mỗi khi nhất vào một nỳt bấm:

import javax.swing.*; import java.awt.*; import java.awt.event.*;

public class FrameSample extends JFrame { private JDialog d;

public FrameSample() // Constroctor {

d = new JDialog(this,"Day la Jdialog",false); d.setSize(100,100);

JPanel p = new JPanel();

JButton b = new JButton("Xem/Tat mot JDialog"); b.addActionListener( new ActionListener()

{

public void actionPerformed(ActionEvent e) {

d.setVisible(!d.isVisible()); }

} );

p.add(b); add(p); }

public static void main(String[] argvs) {

FrameSample fs = new FrameSample(); fs.setSize(400,400);

fs.setVisible(true); }

}

II.4 JScrollPane

Đõy khụng phải là một cửa sổ nhưng cú tớnh chất như khung chứa JPanel dựng để chứa cỏc đối tượng. Tớnh chất khỏc là khi đối tượng nú chứa quỏ lớn thỡ JScrollPane sẽ xuất hiện thanh trượt đứng và ngang ở hai bờn viền để ta cú thể xem được toàn bộ. JScrollPane được ứng dụng trong cỏc danh sỏch chọn.

Một phần của tài liệu Bài giảng ngôn ngữ lập trình Java doc (Trang 112 - 115)