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. Helvetic Coding Contest 2016 online mirror C1

    Description One particularly well-known fact about zombies is that they move and think terribly slow ...

  2. MD5Utils

    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import com.yundae ...

  3. 醉盏的第一篇博客-关于title的换行处理

    在处理title的时候,有时候我们想要换行,标签元素是不可以的,下面有两种特殊字符来实现 <!DOCTYPE ><html> <head runat="serv ...

  4. Java 内存模型(一)

    打算花比较长的篇幅来描述下自己理解的JVM,尽量描述的清晰易懂一些,从简单慢慢到慢慢深入,一方面自己也复习一下,一方面也供大家参考,少走些弯路.鉴于本人水平有限,如有错误的地方,欢迎指出,感谢. 一段 ...

  5. mysql通用分页存储过程遇到的问题

    DELIMITER $$ USE `tsb_asksys`$$ DROP PROCEDURE IF EXISTS `P_viewPage`$$ CREATE DEFINER=`root`@`local ...

  6. python中*args, **kwargs理解

    先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '----------- ...

  7. ActionListener 监听事件源产生的事件

    用户在窗体上对组件进行一定动作,比如鼠标点击,会产生一些相应的事件,如ActionEvents,ChangeEvents,ItemEvents等,来响应用户的鼠标点击行为.通过实现ActionList ...

  8. hibernate课程 初探单表映射1-10 JUnit测试

    三大注解: 1 @Test 2 @Before 3 @After 执行顺序213 demo.java package hibernate_001; import org.junit.After; im ...

  9. Django之model基础(查询补充)

    学习完简单的单表查询外,是远远不够的,今天我们对查询表记录做一个补充,接下来来看看基于对象的跨表查询.基于双下划线的跨表查询,聚合查询和分组查询,F查询与Q查询. 比如我们有如下一张表,在model中 ...

  10. vue awaresome swiper的使用

    main.jsimport VueAwesomeSwiper from 'vue-awesome-swiper'import 'swiper/dist/css/swiper.css'Vue.use(V ...