人品计算器 JFrame 窗体软件版 JPanel JTextField JTextArea JButtton JLabel setContentPane Swing包(用户界面工具包)...

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class RP_Frame2 extends JFrame {
    private static final long serialVersionUID = 1L;

    public RP_Frame2() {
        setBounds(200, 200, 500, 300);// 设置窗体大小位置
        setTitle("人品计算器");// 设置窗体标题

        JPanel pnBasic = new JPanel();// 生成一个大画布
        setContentPane(pnBasic);// 放在窗格中
        pnBasic.setLayout(new GridLayout(2, 1));// 画布按照两行一列网格布局,行与行列与列间隔5像素
        JPanel pnGreen = new JPanel();// 再生成一个小绿画布
        JPanel pnYellow = new JPanel();// 再生成一个小黄画布
        pnYellow.setBackground(Color.YELLOW);// 画布设置颜色
        pnGreen.setBackground(Color.GREEN);// 画布设置颜色
        pnBasic.add(pnYellow);
        pnBasic.add(pnGreen);
        // 下边一行绿色画布增加标签,作为输出
        JLabel result = new JLabel();
        pnGreen.add(result);
        result.setText("输入姓名后,  点击 '测试人品' 按钮, 查看人品值!");
        // 上边一行黄色画布重新布局
        pnYellow.setLayout(new BorderLayout());
        JLabel label = new JLabel();// 生成标签
        label.setText("输入姓名");
        pnYellow.add(label, BorderLayout.WEST);// 放到Yellow画布左边
        label.setBackground(Color.YELLOW);
        JTextField text = new JTextField(15);// 生成长度15的文本框
        text.setBackground(Color.YELLOW);
        pnYellow.add(text, BorderLayout.CENTER);
        JButton btn = new JButton();// 生成按钮
        btn.setBackground(Color.YELLOW);
        pnYellow.add(btn, BorderLayout.EAST);// 放到Yellow画布右边
        btn.setText("测试人品");
        btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Random ran = new Random();
                int index = ran.nextInt(101);
                if (index >= 90) {
                    result.setText(text.getText() + " 你的人品值为 " + index + " 等级为 " + "大神");
                } else if (index >= 80) {
                    result.setText(text.getText() + " 你的人品值为 " + index + " 等级为 " + "大牛");
                } else if (index >= 60) {
                    result.setText(text.getText() + " 你的人品值为 " + index + " 等级为 " + "程序猿");
                } else if (index >= 40) {
                    result.setText(text.getText() + " 你的人品值为 " + index + " 等级为 " + "码农");
                } else if (index >= 20) {
                    result.setText(text.getText() + " 你的人品值为 " + index + " 等级为 " + "码畜");
                } else {
                    result.setText(text.getText() + " 你的人品值为 " + index + " 等级为 " + "菜鸟");
                }
            }
        });

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置关闭窗体时程序停止运行
        setVisible(true);// 设置窗体可见,否则什么都不会显示
    }

    public static void main(String[] args) {
        new RP_Frame2();//别忘了生成窗体框架对象
    }

}

容器类 非容器类 属性类

setTitle("人品计算器");// 设置窗体标题

可以通过

 new RP_Frame2("窗体标题")

然后构造方法中接收

public RP_Frame2(String title) {

然后使用super方法传给父类

super(title);

这种方法也可以设置窗体标题

 

 

转载于:https://www.cnblogs.com/qingyundian/p/7647766.html

请作为资深开发工程师,解释我给出的代码。请逐行分析我的代码并给出你对这段代码的理解。 我给出的代码是: 【package e1; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JRadioButton; import javax.swing.JCheckBox; import javax.swing.JTextArea; import javax.swing.JButton; import javax.swing.ButtonGroup; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JOptionPane; public class StudentRegistrationUI extends JFrame { /** * */ private static final long serialVersionUID = 8005544866451578567L; private JPanel contentPane; private JLabel lblNewLabel; private JLabel lblNewLabel_1; private JTextField textField; private JTextField textField_1; private JLabel lblNewLabel_2; private JRadioButton rdbtnNewRadioButton; private JRadioButton rdbtnNewRadioButton_1; private JLabel lblNewLabel_3; private JCheckBox chckbxNewCheckBox; private JCheckBox chckbxNewCheckBox_1; private JCheckBox chckbxNewCheckBox_2; private JLabel lblNewLabel_4; private JTextArea textArea; private JButton btnNewButton; private JButton btnNewButton_1; private final ButtonGroup buttonGroup = new ButtonGroup(); /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { StudentRegistrationUI frame = new StudentRegistrationUI(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public StudentRegistrationUI() { setTitle("学生注册"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 500); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(null); setContentPane(contentPane); lblNewLabel = new JLabel("姓名:"); lblNewLabel.setBounds(42, 18, 81, 21); contentPane.add(lblNewLabel); lblNewLabel_1 = new JLabel("年龄:"); lblNewLabel_1.setBounds(42, 68, 81, 21); contentPane.add(lblNewLabel_1); textField = new JTextField(); textField.setBounds(134, 15, 221, 27); contentPane.add(textField); textField.setColumns(10); textField_1 = new JTextField(); textField_1.setBounds(134, 65, 221, 27); contentPane.add(textField_1); textField_1.setColumns(10); lblNewLabel_2 = new JLabel("性别"); lblNewLabel_2.setBounds(42, 158, 81, 21); contentPane.add(lblNewLabel_2); rdbtnNewRadioButton = new JRadioButton("男"); buttonGroup.add(rdbtnNewRadioButton); rdbtnNewRadioButton.setSelected(true); rdbtnNewRadioButton.setBounds(134, 154, 62, 29); contentPane.add(rdbtnNewRadioButton); rdbtnNewRadioButton_1 = new JRadioButton("女"); buttonGroup.add(rdbtnNewRadioButton_1); rdbtnNewRadioButton_1.setSelected(false); // 这里修正女单选按钮初始不选中 rdbtnNewRadioButton_1.setBounds(293, 154, 62, 29); contentPane.add(rdbtnNewRadioButton_1); lblNewLabel_3 = new JLabel("擅长"); lblNewLabel_3.setBounds(42, 207, 81, 21); contentPane.add(lblNewLabel_3); chckbxNewCheckBox = new JCheckBox("java"); chckbxNewCheckBox.setBounds(134, 207, 81, 21); contentPane.add(chckbxNewCheckBox); chckbxNewCheckBox_1 = new JCheckBox("C++"); chckbxNewCheckBox_1.setBounds(226, 207, 81, 21); contentPane.add(chckbxNewCheckBox_1); chckbxNewCheckBox_2 = new JCheckBox("C"); chckbxNewCheckBox_2.setBounds(314, 207, 41, 21); contentPane.add(chckbxNewCheckBox_2); lblNewLabel_4 = new JLabel("自我介绍:"); lblNewLabel_4.setBounds(42, 257, 90, 21); contentPane.add(lblNewLabel_4); textArea = new JTextArea(); textArea.setBounds(134, 258, 221, 102); contentPane.add(textArea); btnNewButton = new JButton("注册"); btnNewButton.setBounds(42, 377, 123, 29); contentPane.add(btnNewButton); btnNewButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 获取姓名 String name = textField.getText(); // 获取年龄 String age = textField_1.getText(); // 获取性别 String gender = ""; if (rdbtnNewRadioButton.isSelected()) { gender = "男"; } else if (rdbtnNewRadioButton_1.isSelected()) { gender = "女"; } // 获取擅长技能 StringBuilder skills = new StringBuilder(); if (chckbxNewCheckBox.isSelected()) { skills.append("擅长java,"); } if (chckbxNewCheckBox_1.isSelected()) { skills.append("擅长C++,"); } if (chckbxNewCheckBox_2.isSelected()) { skills.append("擅长C,"); } if (skills.length() > 0) { skills.setLength(skills.length() - 1); // 去掉最后一个逗号 } // 获取自我介绍 String intro = textArea.getText(); String message = "学生信息:\n" + name + "," + age + "," + gender + "," + skills + "\n自我介绍:" + intro; javax.swing.JOptionPane.showMessageDialog(StudentRegistrationUI.this, message, "消息", javax.swing.JOptionPane.INFORMATION_MESSAGE); } }); btnNewButton_1 = new JButton("重置"); btnNewButton_1.setBounds(232, 377, 123, 29); contentPane.add(btnNewButton_1); } }】
最新发布
05-12
JFrame应用软件开发平台是一个基于JavaEE的面向应用软件开发的框架及自动化代码生成平台。通过使用JFrame,应用软件的开发不再需要重头做起,只需通过JFrame自动代码生成工具配置、生成业务代码,并在此基础上简单地补充的业务逻辑即可。 JFrame降低了软件开发人员的要求,开发人员也无需掌握太多的编程知识,只需掌握JavaJavaScript基础知识,就可在平台上进行二次开发。TJFrame的目标是:“直接降低软件企业80%的研发成本,缩短项目开发发周期,提升客户满意度”;应用软件开发过程中80%的重复工作将由JFrame来完成,20%的特殊业务逻辑代码由开发人员在生成的代码基础上补充完善。 JFrame应用软件开发平台就如“一套毛胚房”,提供了软件的基本框架和相关基础设施;软件开发团队获取该平台后,可以对其进行“二次装修”,根据自己的业务需求,在其基础之上进行二次开发,实现满足业务需求的应用软件。JFrame应用软件开发平台作为作基础软件,能够满足您应用软件开发的各种需求,而且特别适合于各类管理信息系统的开发。 JFrame开发团队将不断的完善其功能,以使其能够满足更广泛的需求。JFrame不承诺可以实现“零代码”开发,因为业务逻辑千变万化,不可能有真正的“零代码”开发平台,但JFrame却是解决软件工程问题的“银弹”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值