Java图形界面
图形界面
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图形界面的更多相关文章
- Java图形界面学习---------简易登录界面
/** * @author Administrator * Java图形界面学习---------简易登录界面 * date:2015/10/31 */ import java.awt.BorderL ...
- Java 图形界面开发--图文并茂建立学生管理系统
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客) 图形用户界面(Graphics U ...
- Java图形界面GUI
Java图形界面GUI 设置窗体JFrame对象 package com.Aha.Best; import javax.swing.ImageIcon; import javax.swing.JFra ...
- java 图形界面 Socket编程
一.使用图形界面实现客户端服务器端的通信: 上代码: 服务器端代码: package cn.MyNET; import java.io.*; import java.net.*; import jav ...
- Java第5次实验提纲(Java图形界面编程)
1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...
- Java第05次实验提纲(Java图形界面编程)
1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...
- JAVA 图形界面开发基础详解
与C的win32一样,JAVA也有自己的图形界面开发,将在此篇博客中对基础部分进行讲解. 1.Java提供的图形界面类有哪些? Java提供了两套图形界面 (1)AWT组建(基础) AWT组件是jdk ...
- 【转】java图形界面设计(AWT)
[转自]http://blog.sina.com.cn/s/blog_616e189f0100ne1t.html 1. 基本的java Frame操作. Java的图形界面的类主要包括AW ...
- Java图形界面实战案例——实现打字母游戏
实现打字母的游戏 这次这个案例能够说是头几次所讲的内容的一个技术汇总,主要是 运用了几大块的知识.我们先来定义一下案例的背景:在一个300*400的窗口上.有10个随机产生的字母下落,在键盘上敲击字母 ...
- java图形界面设计
1. 基本的java Frame操作. Java的图形界面的类主要包括AWT和Swing.在AWT中图形元素的父类为Component. 继承关系如下:Component->Cont ...
随机推荐
- URI和URL的关系与区别
首先给大家举个例子,有一家公司的总经理,某天,给了我一张名片,上面写了他的头衔,北京XXX公司总经理 张三,还有他的办公室地址,北京市海淀区长安街35号北京XXX公司总经理办公室,那么,我以后给我的朋 ...
- 解决idea中maven项目无法读取src/main/java目录下面的配置文件问题
解决idea中maven项目无法读取src/main/java目录下面的配置文件问题 当我们在maven项目中使用Mybatis的时候,需要给Mybatis配置核心xml文件(MyBatis-Conf ...
- EAFP vs LBYL
EAFP vs LBYL 检查数据可以让程序更健壮,用术语来说就是防御性编程.检查数据的时候,有EAFP和LBYL两种不同的编程风格,具体的意思如下: LBYL: Look Before You Le ...
- NIO-FileChannel源码分析
目录 NIO-FileChannel源码分析 目录 前言 RandomAccessFile 接口 创建实例 获取文件通道 FileChannelImpl 创建 写文件 读文件 修改起始位置 获取文件长 ...
- 【Linux】Shell批量修改文件名
修改文件名,替换中间字符: 例如:ABC_define_EFG.jpg,要把中间的define替换成argument: 用如下脚本即可: for var in *; do mv "$var& ...
- Code First 下自动更新数据库结构(Automatic Migrations)
示例 Web.config <?xml version="1.0" encoding="utf-8"?> <configuration> ...
- WinForm 无焦点获取键盘输入
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- wstngfw中配置freeradius
wstngfw中配置freeradius Radius为各种网络设备和服务提供了一个认证来源. Radius认证常用于***.入网门户.交换机.路由器和防火墙.Radius认证比在网络上的不同设备跟踪 ...
- POJ1611(The Suspects)--简单并查集
题目在这里 关于SARS病毒传染的问题.在同一个组的学生是接触很近的,后面也会有新的同学的加入.其中有一位同学感染SARS,那么该组的所有同学得了SARS.要计算出有多少位学生感染SARS了.编号为0 ...
- ElementUI对话框(dialog)提取为子组件
需求:在页面的代码太多,想把弹窗代码提取为子组件,复用也方便. 这里涉及到弹窗el-dialog的一个属性show-close: show-close="false"是设置不显 ...