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);

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

												

人品计算器 JFrame 窗体软件版 JPanel JTextField JTextArea JButtton JLabel setContentPane Swing包(用户界面工具包)的更多相关文章

  1. Android(java)学习笔记218:开发一个多界面的应用程序之人品计算器的简单实现

    1.开启新的Activity的方法: (1)Intent 意图 (2)intent.setAction("自定义")  记得在清单文件中声明 (3)intent.setData(前 ...

  2. 第13章 Swing程序设计----JFrame窗体

    JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些Swing组件的容器. 在开发应用程序时可以通过继承java.swing.JFrame类创建一个窗体,在 ...

  3. GUI JFrame窗体介绍:

    GUI JFrame窗体介绍: https://www.cnblogs.com/-ksz/p/3422074.html

  4. Android(java)学习笔记161:开发一个多界面的应用程序之人品计算器的简单实现

    1.开启新的Activity的方法: (1)Intent 意图 (2)intent.setAction("自定义")  记得在清单文件中声明 (3)intent.setData(前 ...

  5. 红米1线刷救砖教程V5版(移动联通适用,线刷包永久有效)

    红米1线刷救砖教程V5版(移动联通适用,线刷包永久有效) 原文来自:http://www.miui.com/thread-1890972-1-1.html?mobile=2 ,加了些自己的经验. (我 ...

  6. atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform

    atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform 1. Absoluti 布局(经常使用) 1 2. ...

  7. Arch Linux 是个 针对 i686 优化的 Linux 发行版(通过可以轻松使用的二进制包系统 - pacman)

    Arch Linux 是个 针对 i686 优化的 Linux 发行版(通过可以轻松使用的二进制包系统 - pacman)Arch 同时也拥有一个类似 ports 的包构建系统(Arch Build ...

  8. PMP(第六版)中的控制账户、规划包、工作包

    PMP(第六版)中的控制账户.规划包.工作包 控制账户是一个管理控制点,在该控制点上,把范围.预算和进度加以整合,并与挣值比较,以测量绩效.控制账户拥有2个或以上的工作包,但每个工作包只与一个控制账户 ...

  9. java 24 - 8 GUI之创建四则运算计算器(未校验版)

    这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...

随机推荐

  1. Could not find iPhone X simulator

    Could not find iPhone X simulator Error: Could not find iPhone X simulator at resolve (/Users/zhouen ...

  2. 20165224 陆艺杰 Exp9 Web安全基础

    Exp9 Web安全基础 SQL注入攻击原理,如何防御 程序对用户输入数据的合法性没有判断就直接插入查询语句 信任别人的输入,构造输入造成攻击 防御 :对输入进行检查 XSS攻击的原理,如何防御 程序 ...

  3. iOS获取手机型号、iOS获取当前app的名称和版本号

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // ap ...

  4. QT的学习

    背景 最近正忙着做一个项目,由于之前对面向对象编程了解的非常少,所以导致项目的代码有很多不太清楚:看到代码的时候整个人是懵的.所以在国庆期间,结合着大神的博客看了一下面向对象编程,并学习了开发GUI应 ...

  5. linux别名防删除

    最近有不相信rm -rf 了,虽然恢复了但是很难受啊 加个别名吧, 1.查看系统别名配置 alias 2.配置别名(临时生效) alias rm='echo do not use rm command ...

  6. 练习十一:兔子数量计算—斐波那契实例

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死,问每个月的兔子总数为多少? 通过数学分析我们知道,兔子的规律为数列1,1,2 ...

  7. OpenStack Weekly Rank 2015.07.20

    Module Reviews Drafted Blueprints Completed Blueprints Filed Bugs Resolved Bugs Cinder 8 1 3 9 10 Sw ...

  8. hadoop map 个数 源码分析

    本文转自http://ronxin999.blog.163.com/blog/static/42217920201279112163/

  9. Storm概念学习系列之Task任务

    不多说,直接上干货! 每一个Spout/Bolt的线程称为一个Task. Task任务 Task是运行Spout或Bolt的单元,每一个Spout/Bolt的线程称为一个Task. 在Storm 0. ...

  10. Go 微服务实践

    http://www.open-open.com/lib/view/open1473391214741.html