图形界面

JFrame在swingbao

JFrame jframe = new JFrame();

iframe.setVisible(true); //设置窗口显示

jframe.setLocation(300, 300);//设置窗口位置

jframe.setSize(400,400);//设置窗口大小

//按钮,控件
/*JButton btn1 = new JButton("确定");
JButton btn2 = new JButton("取消");
JButton btn3 = new JButton("删除");
jframe.add(btn1);
jframe.add(btn2);
jframe.add(btn3);*/ //JFtame默认布局管理器 BorderLayout (东南西北中布局) /*jframe.setLayout(null);//完全自定义布局 需要为每个控件设置大小位置
//位置
jframe.add(btn1,BorderLayout.WEST);
jframe.add(btn2,BorderLayout.EAST);
jframe.add(btn3, BorderLayout.CENTER); btn1.setLocation(40, 40); //位置
btn1.setSize(100, 25); //大小
btn2.setLocation(40, 70);
btn2.setSize(100, 25);
btn3.setLocation(40, 100);
btn3.setSize(100, 25);*/ //流式布局 FlowLayout
//只会根据窗口大小进行布局,控件大小根据内容大小定大小
/*jframe.setLayout(new FlowLayout());
JButton btn1 = new JButton("确定");
JButton btn2 = new JButton("取消");
JButton btn3 = new JButton("删除");
JButton btn4 = new JButton("确定1");
JButton btn5 = new JButton("取消2");
JButton btn6 = new JButton("删除3");
jframe.add(btn1);
jframe.add(btn2);
jframe.add(btn3);
jframe.add(btn4);
jframe.add(btn5);
jframe.add(btn6);*/ //网格布局,也叫表格布局
//前两个参数表示几行几列,注意:必须先满足行,才满足列; 后面两个参数表示间隔.
jframe.setLayout(new GridLayout(2,3,5,5));
JButton btn1 = new JButton("确定");
JButton btn2 = new JButton("取消");
JButton btn3 = new JButton("删除");
JButton btn4 = new JButton("确定1");
JButton btn5 = new JButton("取消2");
JButton btn6 = new JButton("删除3");
jframe.add(btn1);
jframe.add(btn2);
jframe.add(btn3);
jframe.add(btn4);
jframe.add(btn5);
jframe.add(btn6);
jframe.setDefaultCloseOperation(JFrame.EXOE_ON_CLOSE);
//默认是点右上角X时,隐藏
//设置为JFrame.EXIT_ON_CLSE时,点击右上角才是关闭

布局容器

JPanel ,默认的布局管理器FlowLayout

JPanel p1 = new JPanel();

文字显示的控件

JTabel lblName = new JTabel("账号:");

输入框

JTextField txtName = new JTextField(宽度);

密码框

JPasswordField txtPaw = new JPasswordField(宽度);

将控件加入JPanel容器中

p1.add(lblName);

btu.addActionListener(new ActionListener(){}); // 按钮作用实现

信息弹出窗口

JOptionPane.showMessageDialog(null,"登陆成功");

在跳到新窗口时,隐藏原来的窗口

LoginFrame.this.dispose(); 注意这个实在匿名类中使用.必须要使用类名.this.dispose();

设置不能改变窗口大小

this.setResizable(false);

打包,就是让窗口里面的控件更加的紧凑

pack();

    //账户
private JTextField txtName;
//密码
private JPasswordField txtPwd;
​
public LoginFrame(){
this.setTitle("登录窗口");
//位置
this.setLocation(400, 300);
//大小
this.setSize(400, 400); this.setLayout(new GridLayout(3,1,5,10));
JPanel p1 = new JPanel(); JLabel lblName = new JLabel("账号:");
txtName = new JTextField(20);
txtName.setText("admin");
p1.add(lblName);
p1.add(txtName); JPanel p2 = new JPanel();
//文字显示控件
JLabel lblpwd = new JLabel("密码:");
//输入框控件
this.txtPwd = new JPasswordField(20);
//将控件加入panel容器中
p2.add(lblpwd);
p2.add(txtPwd); JPanel p3 = new JPanel();
JButton btn1 = new JButton("登录");
JButton btn2 = new JButton("注册");
p3.add(btn1);
p3.add(btn2);
//ActionListener接口,用于关联按钮作用
btn1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {
//获取文本框的内容
String name = txtName.getText();
//获取密码框的内容,密码是字符数组
String pwd = new String(txtPwd.getPassword());
if(name.equalsIgnoreCase("admin") &&
pwd.equalsIgnoreCase("admin")){ //弹出提示框
//第一个参数:null表示在屏幕中间显示
//第二个参数:表示显示的信息
//String name1 = JOptionPane.showInputDialog("请输入账号:");
JOptionPane.showMessageDialog(null, "登陆成功!");
//在跳到新窗口时,隐藏原来的窗口
LoginFrame.this.dispose();
                     //new的新窗口(传当前窗口过去)
new MyFrame(LoginFrame.this); }else{
JOptionPane.showMessageDialog(null, "登陆失败!"); }
} });
//把控件加入窗口中
this.add(p1);
this.add(p2);
this.add(p3); //关闭窗口 关闭整个程序
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置不能改变窗口大小
this.setResizable(false);
//打包,就是让窗口里面的控件更加的紧凑
pack();
//设置窗口显示
this.setVisible(true);
}

下拉菜单

JComboBox<E>

        JComboBox<String> combox = new JComboBox<String>();
combox.addItem("本科");
combox.addItem("专科");
combox.addItem("高中");
JButton btn2 = new JButton("选择"); btn2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//获取下拉列表的选择内容
String str = (String) combox.getSelectedItem();
System.out.println(str);
}
});

单选按钮

JRadiobutton

单选按钮组

ButtonGronp

需要把单选按钮放入单选按钮组中,才能实现单选功能

        //单选按钮类,定义单选按钮
JRadioButton jr1 = new JRadioButton("男");
JRadioButton jr2 = new JRadioButton("女");
//单选按钮组
ButtonGroup bg = new ButtonGroup();
//把单选按钮给进单选按钮组
bg.add(jr1);
bg.add(jr2);
//
JPanel panel3 = new JPanel();
panel3.add(jr1);
panel3.add(jr2);
//BorderLayout.CENTER表示居中显示
this.add(panel3,BorderLayout.CENTER);

Java图形界面的更多相关文章

  1. Java图形界面学习---------简易登录界面

    /** * @author Administrator * Java图形界面学习---------简易登录界面 * date:2015/10/31 */ import java.awt.BorderL ...

  2. Java 图形界面开发--图文并茂建立学生管理系统

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客) 图形用户界面(Graphics U ...

  3. Java图形界面GUI

    Java图形界面GUI 设置窗体JFrame对象 package com.Aha.Best; import javax.swing.ImageIcon; import javax.swing.JFra ...

  4. java 图形界面 Socket编程

    一.使用图形界面实现客户端服务器端的通信: 上代码: 服务器端代码: package cn.MyNET; import java.io.*; import java.net.*; import jav ...

  5. Java第5次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  6. Java第05次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  7. JAVA 图形界面开发基础详解

    与C的win32一样,JAVA也有自己的图形界面开发,将在此篇博客中对基础部分进行讲解. 1.Java提供的图形界面类有哪些? Java提供了两套图形界面 (1)AWT组建(基础) AWT组件是jdk ...

  8. 【转】java图形界面设计(AWT)

    [转自]http://blog.sina.com.cn/s/blog_616e189f0100ne1t.html 1.       基本的java Frame操作. Java的图形界面的类主要包括AW ...

  9. Java图形界面实战案例——实现打字母游戏

    实现打字母的游戏 这次这个案例能够说是头几次所讲的内容的一个技术汇总,主要是 运用了几大块的知识.我们先来定义一下案例的背景:在一个300*400的窗口上.有10个随机产生的字母下落,在键盘上敲击字母 ...

  10. java图形界面设计

    1.       基本的java Frame操作. Java的图形界面的类主要包括AWT和Swing.在AWT中图形元素的父类为Component. 继承关系如下:Component->Cont ...

随机推荐

  1. fork() 函数简介

    fork() 函数简介 fork系统调用用于创建一个新进程,称为子进程,它与进行fork()调用的进程(父进程)并发运行.创建新的子进程后,两个进程都将执行fork()系统调用之后的下一条指令.子进程 ...

  2. Oracle和SQL Server 用当前日期减去 '0001-01-01' 得出的天数不一致,相差2天,谁知道原因?

    Oracle和SQL Server 用当前日期减去 '0001-01-01' 得出的天数不一致,相差2天.求大佬科普

  3. LOJ3049 [十二省联考2019] 字符串问题 【后缀自动机】【倍增】【拓扑排序】

    题目分析: 建出后缀自动机,然后把A串用倍增定位到后缀自动机上,再把B串用倍增定位到后缀自动机上. SAM上每个点上的A串根据长度从小到大排序,建点,依次连边. 再对于SAM上面每个点,连到儿子的边, ...

  4. yum更换源配置

    今天安装mysql5.7的时候出现了点问题,最后更换yum源解决了,把这个记录一下 yum源配置(阿里云源) 1) 安装wget yum install -y wget 2) 备份/etc/yum.r ...

  5. python绘图之turtle库函数的用法

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  6. logback配置文件模板

    <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false ...

  7. 简单使用auth认证实现登录注册

    1 添加路由 //注册 Route::get('/register',"RegisterController@index"); Route::post('/register',&q ...

  8. Keras实现Hierarchical Attention Network时的一些坑

    Reshape 对于的张量x,x.shape=(a, b, c, d)的情况 若调用keras.layer.Reshape(target_shape=(-1, c, d)), 处理后的张量形状为(?, ...

  9. Android驱动之设备树简介

    目录 一.    设备树简介    2 1.    问题一:为什么需要设备树?    2 ①名词解释:    2 ②DT详细介绍:    2 ③DTS是DT的源文件,描述Device Tree中的设备 ...

  10. 【OF框架】在Azure DevOps中配置项目持续集成CI服务,推送镜像到Azure容器注册表

    准备工作 开通Azure账号,具有开通服务权限,关键是里面要有钱. 开通Azure DevOps,能够创建组织和项目. 具备一定的DevOps知识,了解CICD概念.Docker基本操作. 一.创建& ...