http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com Lớp JButton Java Swing Lớp JButton sử dụng để tạo nút button mà có trình triển khai độc lập tảng Thành phần có label tạo kiện (event) nhấn Nó có Image Cú pháp khai báo cho lớp javax.swing.JButton là: public class JButton extends AbstractButton implements Accessible Lớp kế thừa phương thức từ lớp sau: javax.swing.AbstractButton javax.swing.JComponent java.awt.Container java.awt.Component java.lang.Object Lớp JButton có constructor sau: JButton(): Tạo button mà không thiết lập text icon JButton(Action a): Tạo button thuộc tính nhận từ Action cung cấp JButton(Icon icon): Tạo button với icon JButton(String text): Tạo button với text JButton(String text, Icon icon): Tạo button với text ban đầu icon Các phương thức sử dụng phổ biến lớp JButton void removeNotify(): Ghi đè JComponent.removeNotify để kiểm tra xem button thiết lập button mặc định RootPane hay khơng, có, thiết lập button mặc http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com định RootPane null để bảo đảm Rootpane không giữ tham chiếu button không hợp lệ void setDefaultCapable(boolean defaultCapable): Thiết lập thuộc tính defaultCapable, mà định xem có hay khơng button tạo button mặc định cho Root Pane void updateUI(): Phục hồi thuộc tính UI giá trị từ L&F Một số phương thức sử dụng phổ biến của lớp AbstractButton public void setText(String s): sử dụng để thiết lập text cho button public String getText(): sử dụng để trả text button public void setEnabled(boolean b): sử dụng để kích hoạt vơ hiệu hóa button public void setIcon(Icon b): sử dụng để thiết lập Icon cho button public Icon getIcon(): sử dụng để lấy Icon button public void setMnemonic(int a): sử dụng để thiết lập thuộc tính mnemonic button public void addActionListener(ActionListener a): sử dụng để thêm action listener tới đối tượng Chương trình đơn giản để hiển thị hình ảnh button import java.awt.event.*; import javax.swing.*; public class ImageButton{ ImageButton(){ JFrame f=new JFrame(); JButton b=new JButton(new ImageIcon("b.jpg")); b.setBounds(130,100,100, 40); http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com f.add(b); f.setSize(300,400); f.setLayout(null); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new ImageButton(); } } Chương trình ví dụ khác lớp JButton SwingControlDemo.java package com.vietjack.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingControlDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; public SwingControlDemo(){ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com prepareGUI(); } public static void main(String[] args){ SwingControlDemo swingControlDemo = new SwingControlDemo(); swingControlDemo.showButtonDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Vi du Java Swing"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); headerLabel = new JLabel("", JLabel.CENTER); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private static ImageIcon createImageIcon(String path, http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com String description) { java.net.URL imgURL = SwingControlDemo.class.getResource(path); if (imgURL != null) { return new ImageIcon(imgURL, description); } else { System.err.println("Couldn't find file: " + path); return null; } } private void showButtonDemo(){ headerLabel.setText("Control in action: Button"); //resource folder nen o ben SWING folder ImageIcon icon = createImageIcon("/resources/java_icon.png","Java"); JButton okButton = new JButton("OK"); JButton javaButton = new JButton("Submit", icon); JButton cancelButton = new JButton("Cancel", icon); cancelButton.setHorizontalTextPosition(SwingConstants.LEFT); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { statusLabel.setText("Ok Button clicked."); } }); javaButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { statusLabel.setText("Submit Button clicked."); } http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com }); cancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { statusLabel.setText("Cancel Button clicked."); } }); controlPanel.add(okButton); controlPanel.add(javaButton); controlPanel.add(cancelButton); mainFrame.setVisible(true); } } http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... nen o ben SWING folder ImageIcon icon = createImageIcon("/resources /java_ icon.png", "Java" ); JButton okButton = new JButton( "OK"); JButton javaButton = new JButton( "Submit", icon); JButton cancelButton... Chương trình ví dụ khác lớp JButton SwingControlDemo .java package com.vietjack.gui; import java. awt.*; import java. awt.event.*; import javax .swing. *; public class SwingControlDemo { private JFrame... main(String[] args){ SwingControlDemo swingControlDemo = new SwingControlDemo(); swingControlDemo.showButtonDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Vi du Java Swing" ); mainFrame.setSize(400,400);