API Sing

本文介绍如何使用Java Swing库创建一个包含基础组件的窗口,如JLabel、JButton、JTextField、JPasswordField、JRadioButton、JCheckBox、JComboBox、JTextArea和JFileChooser,展示如何美化窗体布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.zking.test;

import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class BaseComponentDemo extends JFrame{
    /**
     * 基础组件
     *         1.分类:输入框(账号框,密码框),按钮,文本标签,文本域,文件选择器,单选框,复选框,下拉框
     *         2.作用:美化窗体
     *         3.使用方式
     *             (1)api查阅指定组件名称并实例化
     *             (2)将实例化的基础组件添加到中间组件中
     *             (3)将中间组件添加到窗体(顶层组件)中。
     *         4.具体基础组件
     *             JLabel     文本标签
     *             JButtom        按钮
     *             JRadioBuccon    单选按钮
     *             JCheckBox        复选按钮
     *             JTextField        普通文本输入框
     *             JPasswordField    密码框
     *             JComboBox        下拉框组件
     *             JTextArea        文本域
     *             JFileChooser    文件选择器
     *             
     *         5.中间组件
     *                 JPanel  面板  使用率最高
     *                 JScrollPane     滚动面板
     */
    
    public BaseComponentDemo() {
        this.setTitle("基础组件");
        this.setSize(600, 500);
        this.setDefaultCloseOperation(3);
        this.setLocationRelativeTo(null);

        // 建立中间组件JPanel面板
        JPanel jpanel = new JPanel();
        // 设置jpanel面板的背景颜色
        jpanel.setBackground(Color.PINK);

        // --------------------将基础组件添加到中间组件-------------------------------
        /**
         * 1.api查阅指定组件名称并实例化 2.将实例化的基础组件添加到中间组件中
         */

        /**
         * 标签 JLabel
         */
        // 1.api查阅指定组件名称并实例化
        JLabel jla = new JLabel("用户登录");
        // 设置字体大小(加粗,风格)
        jla.setFont(new Font("华文行楷", Font.BOLD, 30));
        // 设置字体颜色
        jla.setForeground(Color.YELLOW);
        // 设置jla组件的边框线
        jla.setBorder(BorderFactory.createLineBorder(Color.blue));
        // 设置背景无效jla.setBackground(Color.red);
        // 2.将实例化的基础组件添加到中间组件中
        jpanel.add(jla);

        //---------------------------------------------------
        /**
         * 按钮JButton 按钮的构造函数: 1.可以传入字符串 2.可以传入图片
         */
        JButton jba = new JButton("登录");
        // jba.setEnabled(false); //设置按钮不可编辑
        // 设置按钮的大小
        jba.setPreferredSize(new Dimension(500, 50));
        // 设置字体大小
        jba.setFont(new Font("宋体", Font.BOLD, 30));
        // 设置背景
        jba.setBackground(Color.green);
        // 设置鼠标的手势
        jba.setCursor(new Cursor(Cursor.HAND_CURSOR));
        jpanel.add(jba);
        //---------------------------------------------------
        
        /**
         * 普通文本输入框   JTextField
         */
        JTextField jtfa = new JTextField(15);
        jpanel.add(jtfa);
        
        /**
         * 密码输入框    JPasswordField
         */
        JPasswordField jpfa = new JPasswordField(15);
        jpanel.add(jpfa);
        
        /**
         * 单选按钮  JRadioButton
         *     注意事项:在窗体中使用单选按钮组件时,必须将多个对象进行合成一组,在一组内只能选择一个
         * 
         *         单选按钮分组:  ButtonGroup
         */
        
        JRadioButton jrba = new JRadioButton("男");
        JRadioButton jrbb = new JRadioButton("女");
        //创建分组对象
        ButtonGroup bg = new ButtonGroup();
        //将单选按钮加入分组对象中即可
        bg.add(jrba);
        bg.add(jrbb);
        jpanel.add(jrba);
        jpanel.add(jrbb);
        
        /**
         * 复选按钮  JCheckBox
         */
        JCheckBox jcba = new JCheckBox("吃饭");
        JCheckBox jcbb = new JCheckBox("打康康");
        JCheckBox jcbc = new JCheckBox("看电影");
        JCheckBox jcbd = new JCheckBox("锤康康");
        JCheckBox jcbe = new JCheckBox("睡康康");
        jpanel.add(jcba);
        jpanel.add(jcbb);
        jpanel.add(jcbc);
        jpanel.add(jcbd);
        jpanel.add(jcbe);
        
        /**
         * 下拉框   JComboBox
         */
        JComboBox jcbaa = new JComboBox();
        //往下拉框中加载数据
        jcbaa.addItem("康康");
        jcbaa.addItem("游游");
        jcbaa.addItem("王王");
        jcbaa.addItem("俊俊");
        jcbaa.addItem("烨烨");
        jcbaa.addItem("文文");
        jpanel.add(jcbaa);
        
        /**
         * 文本域  JTextArea
         */
        JTextArea jtaa = new JTextArea(5, 50);
        //问题:内容增多后,文本y域的高度会溢出。
        //加载滚动条
        /**
         * 实例化一个滚动条面板(中间组件)   JScrollPane
         */
        JScrollPane jsp = new JScrollPane(jtaa);
        jpanel.add(jsp);
        
        /**
         * 文件选择器   JFileChooser
         */
        JFileChooser jfc = new JFileChooser();
        jpanel.add(jfc);
        
        
        
        
        
        
        

        // 获取窗体后将jpanel中间组件面板加入其中
        this.getContentPane().add(jpanel);
        this.setVisible(true);
    }

    public static void main(String[] args) {
        new BaseComponentDemo();
        
        
        /**
         * JLabel
         * JButton
         * JTextField
         * JPasswordField
         * JRadioButton|ButtonGroup
         * JCheckBox
         * JComboBox
         * JScrollPane
         * JTextArea
         * JFileChooser
         */
        
        
        
        
        
        
        
        
    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值