Java Swing JButton按鈕的實現示例
阿新 • • 發佈:2020-01-07
1. 概述
官方JavaDocsApi: javax.swing.JButton
JButton
,按鈕。
JButton 常用構造方法:
// 建立不帶有設定文字或圖示的按鈕 JButton() // 建立一個帶文字的按鈕 JButton(String text) // 建立一個帶圖示的按鈕 JButton(Icon icon)
JButton 常用方法:
// 設定按鈕的 文字、字型 和 字型顏色 void setText(String text) void setFont(Font font) void setForeground(Color fg) /* 以下方法定義在 javax.swing.AbstractButton 基類中 */ // 設定按鈕是否可用 void setEnabled(boolean enable) // 設定按鈕在 預設、按下、不可用 時顯示的圖片 void setIcon(Icon defaultIcon) void setPressedIcon(Icon pressedIcon) void setDisabledIcon(Icon disabledIcon) // 是否繪製邊框(設定不繪製邊框,再結合上面三個設定按鈕狀態圖片的方法,可實現自定義按鈕) void setBorderPainted(boolean b);
JButton 常用監聽器:
// 新增 和 移除 按鈕的點選事件 void addActionListener(ActionListener listener) void removeActionListener(ActionListener listener)
2. 程式碼例項: 預設按鈕
package com.xiets.swing; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Main { public static void main(String[] args) { JFrame jf = new JFrame("測試視窗"); jf.setSize(200,200); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); JPanel panel = new JPanel(); // 建立一個按鈕 final JButton btn = new JButton("測試按鈕"); // 新增按鈕的點選事件監聽器 btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 獲取到的事件源就是按鈕本身 // JButton btn = (JButton) e.getSource(); System.out.println("按鈕被點選"); } }); panel.add(btn); jf.setContentPane(panel); jf.setVisible(true); } }
結果展示:
點選按鈕,檢視控制檯輸出。
3. 程式碼例項: 自定義圖片按鈕
使用以下兩張圖片分別表示按鈕 正常顯示 和 被按下時 顯示 的圖片:
package com.xiets.swing; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Main { public static void main(String[] args) throws AWTException { JFrame jf = new JFrame("測試視窗"); jf.setSize(200,200); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); JPanel panel = new JPanel(); final JButton btn = new JButton(); // 設定按鈕的預設圖片 btn.setIcon(new ImageIcon("button_normal.png")); // 設定按鈕被點選時的圖片 btn.setPressedIcon(new ImageIcon("button_press.png")); // 不繪製邊框 btn.setBorderPainted(false); // 新增按鈕點選事件監聽器 btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("按鈕被點選了"); } }); panel.add(btn); jf.setContentPane(panel); jf.setVisible(true); } }
結果展示:
點選按鈕,檢視控制檯輸出。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。