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. Java基础笔记(十)—— 数组

    数组是具有相同类型的数据的集合,是一种引用数据类型,一般具有固定的长度,并且在内存中占据连续的空间. 数组声明:数据类型[ ] 数组名;             数据类型 数组名[ ]; 如:int[ ...

  2. Codeforces Round #364 (Div. 2) A

    Description There are n cards (n is even) in the deck. Each card has a positive integer written on i ...

  3. Helvetic Coding Contest 2016 online mirror B1

    Description The zombies are gathering in their secret lair! Heidi will strike hard to destroy them o ...

  4. Oracle存储过程实例分析总结(代码)

    1.存储过程结构 1.1 第一个存储过程 ? 1 2 3 4 5 6 7 8 9 10 11 12 CREATE OR REPLACE PROCEDURE proc1 (     para1 varc ...

  5. Spark最简安装

    该环境适合于学习使用的快速Spark环境,采用Apache预编译好的包进行安装.而在实际开发中需要使用针对于个人Hadoop版本进行编译安装,这将在后面进行介绍. Spark预编译安装包下载——Apa ...

  6. Storm概念学习系列之storm-starter项目(完整版)(博主推荐)

    不多说,直接上干货! 这是书籍<从零开始学Storm>赵必厦 2014年出版的配套代码! storm-starter项目包含使用storm的各种各样的例子.项目托管在GitHub上面,其网 ...

  7. Poj 1743——Musical Theme——————【后缀数组,求最长不重叠重复子串长度】

    Musical Theme Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 22499   Accepted: 7679 De ...

  8. Invoke PowerShell by UiPath

    UiPath能够调用PowerShell ,最近在项目中得到了实践:  需求: 某系统生成的日志文件的名字,时间戳只到分,形如bz20180214_1655.log    这样在如果在1分钟内生成多个 ...

  9. js 数组对象去重

    let hash = {}; let config = [ { name: 2, state: true, output: 'Y'}, { name: 3, state: true, output: ...

  10. UEditor百度编辑器

    第一步:首先下载ueditor编译器,地址:http://ueditor.baidu.com/website/ 下载完解压之后就这个: 第二步:我会把文件名utf-8-jsp这个文件名改为uedito ...