javaSwing界面设计(上机练习)

本文展示了一个使用Java Swing库创建的学生信息管理系统的界面设计实例,涵盖了文本输入、密码输入、单选、复选、下拉菜单、列表、滑块、微调器、进度条及按钮等功能组件。

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

package z;

import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JProgressBar;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JSlider;
import javax.swing.JSpinner;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Demo {
    public static void main(String[] args) {
        Outprint A=new Outprint();
        A.body();
    }
}
class Outprint{
    public void body(){
        Font fn=new Font("宋体",Font.BOLD, 32);//定义一个   字体,颜色,大小的方法
        JFrame f=new JFrame();//最大容器生成
        f.setTitle("学生信息管理系统");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        f.setExtendedState(JFrame.MAXIMIZED_BOTH);
        f.setSize(800,600);
        f.setLocation(200,200);

        Container con=f.getContentPane();
        JPanel pan=new JPanel();//生成一个中间容器
        JLabel l_xm=new JLabel("姓名");
        pan.add(l_xm);
        JTextField tf_name=new JTextField(20);//建一个输入框,其长度为二十个字
        pan.add(tf_name);//添加到版面上
        l_xm.setFont(fn);//设置字体、样式、大小
        tf_name.setFont(fn);//姓名输入框的改大小
        l_xm.setForeground(Color.RED);//设置字体颜色

        JLabel l_ma=new JLabel("密码");
        pan.add(l_ma);
        JPasswordField password=new JPasswordField(20);
        password.setEchoChar('*');
        pan.add(password);
        l_ma.setFont(fn);//设置字体、样式、大小
        l_ma.setForeground(Color.RED);//设置字体颜色
        password.setFont(fn);

        JLabel l_xb=new JLabel("性别");
        pan.add(l_xb);
        l_xb.setFont(fn);//字体
        l_xb.setForeground(Color.RED);//设置字体颜色
        JRadioButton  male = new JRadioButton("男", true);//true 三者中的默认项
        JRadioButton  female = new JRadioButton("女");
        ButtonGroup  group=new ButtonGroup();
        male.setFont(fn);//字体
        female.setFont(fn);//字体
        group.add(male);
        group.add(female);
        pan.add(male);
        pan.add(female); 
        
        JLabel l_ah=new JLabel("爱好");//加入一个多选项
        JCheckBox[] hobby={new JCheckBox("音乐"),new JCheckBox("足球"),new JCheckBox("绘画")};
        pan.add(l_ah);
        l_ah.setFont(fn);//字体
        for(int i=0;i<hobby.length;i++){//一个for循环来实现hobby【】字符串数组的循环导入字体格式定义
            hobby[i].setFont(fn);
        }
        pan.add(hobby[0]);//放入面板当中
        pan.add(hobby[1]);
        pan.add(hobby[2]); 
        
        JLabel  l_yx=new JLabel("院系");
        pan.add(l_yx);
        l_yx.setFont(fn);//字体
        String[] departmentNames = {
        "计算机科学与技术系",
        "电子信息与技术系",
        "计算机工程系"};
        JComboBox  department = new JComboBox(departmentNames);
        department.setEditable(false);
        //department.//欠添加一个
        department.setFont(fn);
        pan.add(department);
        
        JLabel l_xk=new JLabel("选课");
        String[] coursesNames = {"数据结构","操作系统","网络原理",
        "Java程序设计","分布式系统开发技术",
        "计算机导论","密码学",
        "计算机组成原理","编译原理",
        "图形学"};
        JList course = new JList(coursesNames);
        pan.add(l_xk);
        pan.add(course);
        l_xk.setFont(fn);//字体
        course.setFont(fn);//将整个字符串数组全部改了

        JLabel l_jf=new JLabel("加分"); 
        pan.add(l_jf);
        l_jf.setFont(fn);//字体
        JSlider addition = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);//起点   总长度   起始位置
        addition.setMajorTickSpacing(20);//刻度个数
        addition.setMinorTickSpacing(5);//刻度单位
        addition.setPaintTicks(true);
        addition.setPaintLabels(true);
        addition.setSnapToTicks(true);//强制格式(只对其刻度)
        addition.setFont(new java.awt.Font("宋体",Font.BOLD, 20));//条条的大小
        pan.add(addition); 
        
        JLabel lb=new JLabel("年龄");//年龄微调器
        JSpinner jsp=new JSpinner();
        jsp.setValue(new Integer(20));
        pan.add(lb);
        lb.setFont(fn);//字体
        pan.add(jsp);
        jsp.setFont(fn);//字体
        
        JProgressBar progbar = new JProgressBar(JProgressBar.HORIZONTAL,0,100);//添加进度条
        progbar.setStringPainted(true);
        pan.add(progbar);//添加面板中
        //添加一个监听器,是的跟确定按钮同步

        ActionListener p=new ActionListener() {//为按钮添加监听事件
            public void actionPerformed(ActionEvent e) {
                progbar.setValue(progbar.getValue()+10);//点一下”确定“按钮,进度条前进10
//            JOptionPane.showMessageDialog(null, "Hello","你好", 1);//弹出对话框
                }
            };
        
        JButton b_sub=new JButton("确认");
        pan.add(b_sub);
        b_sub.setFont(fn);//字体
        b_sub.setFont(fn);
        b_sub.addActionListener(p);

        JButton b_save=new JButton("保存");
        pan.add(b_save); 
        b_save.setFont(fn);//字体

        JLabel l_jg=new JLabel("录入结果");//添加文本域,标题为“录入结果”
        JTextArea result=new JTextArea(10,30);//框体大小
        JScrollPane sp=new JScrollPane(result);
        pan.add(sp); //放入面板当中的操作
        sp.setFont(fn);//字体
        pan.add(l_jg);
        l_jg.setFont(fn);//字体

        con.add(pan);
        f.setVisible(true);
    }
}

由于界面处理还没有学,界面不美观,见谅,哈哈哈

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值