1. 程式人生 > >Java Swing使用者介面元件之選擇元件簡介(未完待續)

Java Swing使用者介面元件之選擇元件簡介(未完待續)

對使用者介面進行設計時,很多情況下都需要給使用者以選項做出選擇。因此常常會用到選擇元件,其中包括:複選框元件(JCheckBox)、單選框元件(JRadioButton)等。本篇文章主要介紹了Java Swing元件複選框JCheckBox用法,結合具體例項形式分析了JCheckBox和JRadioButton的簡單用法與相關操作。

一、複選框元件(JCheckBox)

官方JavaDocsApi: javax.swing.JCheckBox

常用構造方法

JCheckBox(複選框)元件為使用者提供直接選擇的按鈕,其值為選中或未選中。如果複選框有多個,則使用者可以選中一個或者多個。JCheckBox(複選框)的構造方法如下:
· JCheckBox(Icon icon)

:建立一個有圖示,但未被選中的複選框。
· JCheckBox(Icon icon,boolean selected):建立一個有圖示複選框,並且制定是否被選中。
· JCheckBox():建立一個沒有文字、沒有圖示並且最初未被選定的複選框。
· JCheckBox(String text):建立一個有文字,最初未被選中的複選框。
· JCheckBox(String text,boolean selected):建立一個有文字的複選框,並且指定最初是否處於選定狀態。
· JCheckBox(String text,Icon icon):建立一個指定文字和圖示、但未被選中的複選框。
· JCheckBox(String text,Icon icon,boolean selected)
:建立一個指定文字和圖示,並且制定是否被選中的複選框。

常用方法:
· public boolean isSelected():返回複選框狀態,true時為選中。
· public void setSelected(boolean b):設定複選框狀態。

程式碼例項

任選一種Swing元件
1、介紹這個Swing元件的使用
2、當這個Swing元件作為事件源時,使用者可以怎樣和這個事件進行互動(鍵盤,滑鼠的互動都可以)
3、編寫範例程式碼說明並且使用文字進行說明

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class example extends JFrame{
    int DEFAULT_WIDTH = 600;
    int DEFAULT_HEIGHT = 400;
    private JLabel label;
    private JCheckBox boldCheckbox;
    private JCheckBox italicCheckbox;
    private static final int FONTSIZE = 18;
    public example(){
        setTitle("CheckBoxTest");
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        //新增label
        label = new JLabel("生而自由,愛而無畏");
        label.setFont(new Font("Serif",Font.PLAIN, FONTSIZE));
        add(label, BorderLayout.CENTER);
        //構造一個監聽器,響應checkBox事件
        ActionListener actionListener = new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                int mode = 0;
                if(boldCheckbox.isSelected()) mode += Font.BOLD;
                if(italicCheckbox.isSelected()) mode += Font.ITALIC;
                label.setFont(new Font("Serif", mode, FONTSIZE));
            }
        };
        //新增buttonPanel,它包含2個checkBox
        JPanel buttonPanel = new JPanel();
        add(buttonPanel, BorderLayout.SOUTH);
        //為buttonPanel新增2個checkBox
        boldCheckbox = new JCheckBox("bold");
        boldCheckbox.addActionListener(actionListener);
        buttonPanel.add(boldCheckbox);
        italicCheckbox = new JCheckBox("italic");
        italicCheckbox.addActionListener(actionListener);
        buttonPanel.add(italicCheckbox);
    }
    
    public static void main(String[] args) {
        example frame = new example(); //建立窗體並指定標題
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //關閉窗體後退出程式
        //frame.pack(); //自動適配所有控制元件大小
        frame.setLocationRelativeTo(null);//設定窗體位置在螢幕中央
        frame.setVisible(true); //顯示窗體
    }
}

二、單選框元件(JRadioButton)

官方JavaDocsApi: javax.swing.JRadioButton

構造方法

原始碼

未完待續。。。