04-swing_标签和按钮

一, 标签 JLabel

1, 概念
    用于短文本字符串或图像或二者的显示区
    用于标识名称,说明性文字.
2, 构造器
    JLabel()
        创建无图像并且其标题为空字符串的 JLabel。
    JLabel(Icon image)
        创建具有指定图像的 JLabel 实例。
    JLabel(Icon image, int horizontalAlignment) 
        创建具有指定图像和水平对齐方式的 JLabel 实例。
    JLabel(String text)
        创建具有指定文本的 JLabel 实例。
    JLabel(String text, Icon icon, int horizontalAlignment)
        创建具有指定文本、图像和水平对齐方式的 JLabel 实例。
    JLabel(String text, int horizontalAlignment)
        创建具有指定文本和水平对齐方式的 JLabel 实例。
3, 常用方法
    public String getText()             获取标签的文本
    public String steText(String text)  设置标签文本
4, 举例
    LabelDemo.java
/** 演示Label */
import javax.swing.*;
public class LabelDemo
{
    public static void main(String[] args)
    {
        JFrame jFrame = new JFrame("This is a JLabel demo");
        jFrame.setSize(300,200);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel contentPane = new JPanel();
        jFrame.setContentPane(contentPane);

        // 构造时, 设置标签内容
        JLabel label1 = new JLabel("-------------Label1---------------");
        // 构造后, 设置标签内容
        JLabel label2 = new JLabel();
        label2.setText("-------------Label2---------------");

        contentPane.add(label1);
        contentPane.add(label2);

        jFrame.setVisible(true);
    }
}


二, 普通按钮 - JButton

1, 按钮的类的结构
    java.lang.Object
        |-- java.awt.Component
            |-- java.awt.Container
                |-- javax.swing.JComponent
                    |-- javax.swing.AbstractButton
                        |-- javax.swing.JButton
2, 常用构造器
    JButton()
        创建不带有设置文本或图标的按钮。
    JButton(Icon icon)        
        创建一个带图标的按钮。
    JButton(String text)
        创建一个带文本的按钮。
    JButton(String text, Icon icon)
        创建一个带初始文本和图标的按钮。
3, 常用方法
    String getText()    
        获取按钮上的文本,继承自 javax.swing.AbstractButton
    void setText(String text)   
        设置按钮上的文本,继承自 javax.swing.AbstractButton
    void setEnable(boolean b)   
        启用(或禁用)按钮。继承自 javax.swing.AbstractButton
    void setVisible(boolean b)  
        使该组件可见或不可见.继承自 javax.swing.JComponent
4, 举例
    JButtonDemo.java
import javax.swing.*;
/** 普通按钮 */
public class JButtonDemo
{
    public static void main(String[] args)
    {
        JFrame jFrame = new JFrame("This is a JButton demo");
        jFrame.setSize(300, 200);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel contentPane = new JPanel();
        jFrame.setContentPane(contentPane);

        // 构造时, 设置 按钮名    
        JButton okButton = new JButton("ok");
        // 构造后, 设置 按钮名
        JButton cancelButton = new JButton();
        cancelButton.setText("cancel");
    
        contentPane.add(okButton);
        contentPane.add(cancelButton);

        jFrame.setVisible(true);

        return;
    }
}


三, 单选按钮 - JRadioButton

1, 概念
    实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。
    与 ButtonGroup 对象配合使用可创建一组按钮,一次只能选择其中的一个按钮。
2, 构造器
    JRadioButton()
        创建一个初始化为未选择的单选按钮,其文本未设定。
    JRadioButton(Icon icon)        
        创建一个初始化为未选择的单选按钮,其具有指定的图像但无文本。
    JRadioButton(Icon icon, boolean selected)
        创建一个具有指定图像和选择状态的单选按钮,但无文本。
    JRadioButton(String text)
        创建一个具有指定文本的状态为未选择的单选按钮。
    JRadioButton(String text, boolean selected)
        创建一个具有指定文本和选择状态的单选按钮。
    JRadioButton(String text, Icon icon)
        创建一个具有指定的文本和图像并初始化为未选择的单选按钮。
    JRadioButton(String text, Icon icon, boolean selected)
        创建一个具有指定的文本、图像和选择状态的单选按钮。
3, 举例
    (1) 无 ButtonGroup

        JRadioButtonDemo1.java

import javax.swing.*;
/** 无 ButtonGrop, 所有单选按钮可以同时选中 */
public class JRadioButtonDemo1 
{
    public static void main(String[] args)
    {
        JFrame jFrame = new JFrame("this is a JRadioButton demo");
        jFrame.setSize(300, 200);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel contentPane = new JPanel();
        jFrame.setContentPane(contentPane);

        JRadioButton footballRadio = new JRadioButton("足球", true);
        JRadioButton basketballRadio = new JRadioButton("篮球");
        
        contentPane.add(footballRadio);
        contentPane.add(basketballRadio);    

        jFrame.setVisible(true);   
        
        return;
    }
}

    (2) 有 ButtonGroup

        JRadioButtonDemo2.java
import javax.swing.*;
/** 有 ButtonGrope */
class JRadioButtonDemo2 
{
    public static void main(String[] args)
    {
        JFrame jFrame = new JFrame("this is a JRadioButton demo");
        jFrame.setSize(300, 200);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel contentPane = new JPanel();
        jFrame.setContentPane(contentPane);
        
        // 创建 JRadioButton 实例
        JRadioButton footballRadio = new JRadioButton("足球");
        JRadioButton basketballRadio = new JRadioButton("篮球");
        // 将 radio 添加进 逻辑分组
        ButtonGroup likesGroup = new ButtonGroup();
        likesGroup.add(footballRadio);
        likesGroup.add(basketballRadio);

//        contentPane.add(likesGroup); // error, ButtonGroup 为逻辑组件

        contentPane.add(footballRadio);        
        contentPane.add(basketballRadio);
        
        jFrame.setVisible(true);

        return;
    }
}


四, 复选框 - JCheckBox

1, 概念
    复选框是一个可以被选定和取消选定的项,它将其状态显示给用户
2, 构造器
    JCheckBox()
    JCheckBox(Icon icon)
    JCheckBox(Icon icon, boolean selected)
    JCheckBox(String text)
    JCheckBox(String text, boolean selected)
    JCheckBox(Strint text, Icon icon)
    JCheckBox(String text, Icon icon, boolean selected)
3, 举例
    JCheckboxDemo.java
    
import javax.swing.*;
/** 复选框 */
public class JCheckboxDemo 
{
    public static void main(String[] args)
    {   
        JFrame jFrame = new JFrame("JCheckbox demo");
        jFrame.setSize(300, 200);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        JPanel contentPane = new JPanel();
        jFrame.setContentPane(contentPane);

        JCheckBox footballCheckBox = new JCheckBox("足球");
        JCheckBox basketballCheckBox = new JCheckBox("篮球");

        contentPane.add(footballCheckBox);
        contentPane.add(basketballCheckBox);

        jFrame.setVisible(true);
        return;
    }
}

你可能感兴趣的:(04-swing_标签和按钮)