.1 Nỳt nhấn

Một phần của tài liệu giáo trình về java 2008 (Trang 113 - 118)

Cỏch tạo nỳt nhấn

Ta gọi phương thức khởi dựng: public Button(String label) label là tờn nhón của nỳt nhấn Vớ dụ: Button nutOK = new Button("OK");

Đư nỳt nhấn vào Applet hay cửa sổ chương trỡnh bằng lệnh: add(nutOK);

Để đổi tờn nhón cho nỳt nhấn ta gọi phương thức public void setLabel(String newLabel). Để xem tờn nhón hiện tại của nỳt nhấn, ta gọi phương thức public String getLabel()

Vớ dụ: Button nutOK = new Button(); nutOK.setLabel("OK");

Sử dụng nỳt nhấn

Khi kớch chuột vào nỳt nhấn sẽ thực hiện một cụng việc nào đú. Vấn đề này chỳng ta đó xem xột trong phần xử lý cỏc sự kiện

III.2 Nhón (Label)

Tạo nhón khụng cú nội dung gỡ: public Label() hoặc tạo nhón cú nội dung: public Label(String nameLabel).

hoặc thờm chế độ căn lề: pubic Label(String name, int align) Một số phương thức hay sử dụng:

setText(String nameLabel): Đặt lại nội dung mới cho nhón. Label.CENTER, Label.LEFT, Label.RIGHT: những giỏ trị căn lề. Lấy nội dung hiện hành của nhón: public String getText();

Xem nhón đang được căn lề ở chế độ nào: public int getAlignment();

Thiết lập lại chế độ căn lề: public void setAlignment(int align) throws IlligalArgumentException

Sau đõy là vớ dụ sử dụng JLabel: // Minh họa về JLabel

// Nhập cỏc gúi thư viện import java.awt.*; import java.awt.event.*; // Gúi Java mở rộng import javax.swing.*;

public class LabelTest extends JFrame { private JLabel label1, label2, label3; // Tạo giao diện GUI

public LabelTest() {

super( "Testing JLabel" ); // Contructor của JFrame // Lấy đối tượng pane của một JFrame

Container container = getContentPane(); container.setLayout( new FlowLayout() ); // constructor của JLabel

label1 = new JLabel( "Label with text" );

label1.setToolTipText( "This is label1" ); // hiển thị khi di chuột đến container.add( label1 ); // thờm vào container

// Tạo Jlabel với icon hoặc text

Icon bug = new ImageIcon( "bug1.gif" );

label2 = new JLabel( "Label with text and icon", bug, SwingConstants.LEFT ); label2.setToolTipText( "This is label2" );

// JLabel khụng tham số label3 = new JLabel();

label3.setText( "Label with icon and text at bottom" ); label3.setIcon( bug );

label3.setHorizontalTextPosition( SwingConstants.CENTER ); label3.setVerticalTextPosition( SwingConstants.BOTTOM ); label3.setToolTipText( "This is label3" );

container.add( label3 ); setSize( 275, 170 ); setVisible( true ); }

// hàm main

public static void main( String args[] ) {

LabelTest application = new LabelTest(); application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

} }

III.3 Nỳt đỏnh dấu (checkbox)

Một nỳt đỏnh dấu cú hai phần: nhón và dấu biểu hiện trạng thỏi. Ta cú thể tạo nỳt đỏnh dấu theo 5 phương thức khởi dựng:

 public Checkbox(): tạo ụ đỏnh dấu khụng cú nhón.

 public Checkbox(String cbLabel): tạo ụ đỏnh dấu với một nhón cbLabel gắn kốm.  public Checkbox(String cbLabel, boolean state): Tạo ụ đỏnh dấu với một nhón

cbLabel gắn kốm với trạng thỏi ban đầu của ụ đú.

 public Checkbox(String cbLabel, boolean state, CheckboxGroup g);

 public Checkbox(String cbLabel , CheckboxGroup g, boolean state): dựng để tạo ụ đỏnh dấu cú nhón với trạng thỏi đỏnh dấu ban đầu, nỳt tạo ra được nhúm trong nhúm g. Nhúm cỏc ụ đỏnh dấu trở thành nỳt chọn.

Kiểm tra và thiết lập trạng thỏi:

Để kiểm tra một ụ cú được đỏnh dấu khụng ta dựng phương thức: public boolean getState();

Nếu muốn thiết lập trạng thỏi, ta dựng phương thức: setState(boolean state).

Xử lý tỡnh huống khi ụ đỏnh dấu thay đổi trạng thỏi:

Để lắng nghe ụ đỏnh dấu, ta dựng phương thức: addItemListener(ItemListener L) Để loại bỏ lắng nghe đú ta dựng phương thức: removeItemListener(ItemListener L) // Java core packages

import java.awt.*; import java.awt.event.*;

// Java extension packages import javax.swing.*;

public class CheckBoxTest extends JFrame { private JTextField field;

private JCheckBox bold, italic; // Thiết lập GUI

public CheckBoxTest() {

super( "JCheckBox Test" ); // lấy pane

Container container = getContentPane(); container.setLayout( new FlowLayout() ); // Đặt ụ nhập và font chữ

field = new JTextField( "Theo dừi font chữ thay đổi", 20 ); field.setFont( new Font( "Serif", Font.PLAIN, 14 ) ); container.add( field );

// tạo đối tượng checkbox

bold = new JCheckBox( "Bold" ); container.add( bold );

italic = new JCheckBox( "Italic" ); container.add( italic );

// Đăng ký đối tượng lắng nghe

CheckBoxHandler handler = new CheckBoxHandler(); bold.addItemListener( handler ); italic.addItemListener( handler ); setSize( 275, 100 ); setVisible( true ); } // execute application

public static void main( String args[] ) {

CheckBoxTest application = new CheckBoxTest();

application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); }

// Lớp nội lắng nghe sự kiện

private class CheckBoxHandler implements ItemListener { private int valBold = Font.PLAIN;

private int valItalic = Font.PLAIN; // Đỏp ứng sự kiện chọn ụ

public void itemStateChanged( ItemEvent event ) {

// xử lý chọn ụ chữ đậm

III.4 Nỳt chọn (radio button)

Tạo nỳt chọn:

Đõy là trường hợp đặc biệt của ụ đỏnh dấu. Ta tạo ra ụ đỏnh dấu và đặt nú vào một nhúm, ta cú phương thức sau: public CheckboxGroup();

Với một nhúm cỏc nỳt ta cú thể lấy ra đối tượng hiện tại đang được chọn bằng cỏch gọi phương thức getSelectedCheckbox().

Đặt lựa chọn ta dựng: setSelectedCheckbox().

Cỏch sử dụng nỳt chọn:

Ta tạo một đối tượng giao tiếp ItemListener để lắng nghe tỡnh huống.

Phương thức getItemSelectable sẽ trả về đối tượng nơi mà tỡnh huống phỏt sinh: public ItemSelectable getItemSelectable();

Phương thức getItem của đối tượng ItemEvent sẽ cho ta biết giỏ trị nỳt chọn: public Object getItem();

Sau đõy là vớ dụ về sử dụng ụ chọn:

// Đăng ký đối tượng lắng nghe cho mỗi ụ chọn radio

RadioButtonHandler handler = new RadioButtonHandler(); plainButton.addItemListener( handler );

boldButton.addItemListener( handler ); italicButton.addItemListener( handler ); boldItalicButton.addItemListener( handler ); // Nhúm cỏc ụ lại

radioGroup = new ButtonGroup(); radioGroup.add( plainButton ); radioGroup.add( boldButton ); radioGroup.add( italicButton ); radioGroup.add( boldItalicButton );

Về bắt cỏc sự kiện cũng tương tự ụ đỏnh dấu.

if ( event.getStateChange() = = ItemEvent.SELECTED ) valBold = Font.BOLD; else valBold = Font.PLAIN; // Chọn ụ chứ nghiờng if ( event.getSource() == italic ) if ( event.getStateChange() == ItemEvent.SELECTED ) valItalic = Font.ITALIC; else valItalic = Font.PLAIN; // Đặt lại font chữ của ụ text

field.setFont(new Font( "Serif", valBold + valItalic, 14 ) ); } } }

Một phần của tài liệu giáo trình về java 2008 (Trang 113 - 118)

Tải bản đầy đủ (PDF)

(146 trang)