Java图形界面GUI
Java图形界面GUI
设置窗体JFrame对象
package com.Aha.Best;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class TestJFrame extends JFrame {
public static void main(String[] args) {
TestJFrame tjf = new TestJFrame();
ImageIcon ii = new ImageIcon("Images/01.jpg");
tjf.setIconImage(ii.getImage());
tjf.setTitle("窗体测试记录");
tjf.setSize(600,600);
tjf.setLocation(300,200);
tjf.setVisible(true);
tjf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
15.2设置菜单对象
package com.Aha.Best;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class TestJFrame extends JFrame {
public static void main(String[] args) {
TestJFrame tjf = new TestJFrame();
ImageIcon ii = new ImageIcon("Images/01.jpg");
tjf.setIconImage(ii.getImage());
tjf.setTitle("窗体测试记录");
tjf.setSize(600,600);
tjf.setLocation(300,200);
//新建菜单栏jmb
JMenuBar jmb = new JMenuBar();
//新建子菜单jm1,jm2
JMenu jm1 = new JMenu();
jm1.setText("菜单一");
JMenu jm2 = new JMenu("菜单二");
//新建目录下的菜单项jmt1,jmt2,jmt3,jmt4
JMenuItem jmt1 = new JMenuItem();
jmt1.setText("操作列一");
JMenuItem jmt2 = new JMenuItem("操作列二");
JMenuItem jmt3 = new JMenuItem("操作列三");
JMenuItem jmt4 = new JMenuItem("操作列四");
tjf.add(jmb);
jmb.add(jm1);
jmb.add(jm2);
jm1.add(jmt1);
jm1.add(jmt2);
jm2.add(jmt3);
jm2.add(jmt4);
tjf.setVisible(true);
tjf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
package com.Aha.Best;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class TestJFrame extends JFrame {
public static void main(String[] args) {
TestJFrame tjf = new TestJFrame();
ImageIcon ii = new ImageIcon("Images/01.jpg");
tjf.setIconImage(ii.getImage());
tjf.setTitle("窗体测试记录");
tjf.setSize(600,600);
tjf.setLocation(300,200);
//新建菜单栏jmb
JMenuBar jmb = new JMenuBar();
//新建子菜单jm1,jm2
JMenu jm1 = new JMenu();
jm1.setText("菜单一");
JMenu jm2 = new JMenu("菜单二");
//新建目录下的菜单jmt1,jmt2
JMenuItem jmt1 = new JMenuItem();
jmt1.setText("操作列一");
JMenuItem jmt2 = new JMenuItem("操作列二");
tjf.add(jmb);
jmb.add(jm1);
jm1.add(jm2);
jm2.add(jmt1);
jm2.add(jmt2);
tjf.setVisible(true);
tjf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
15.3选项卡
15.3.1JTabbedPane
15.4设置布局layout
15.4.1空布局
15.4.2流式布局
15.4.3网格布局
15.4分割窗格
15.4.1分割窗格JSplitPane
15.4.2滑块JSlider
15.4.3进度条JProgressBar
15.5设置面板JPannel
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Tt extends JFrame{
public static void main(String[] args) {
// TODO Auto-generated method stub
Tt t = new Tt();
t.setTitle("雷海鸣进销存系统管理");
t.setLocation(400,300);
t.setSize(300,180);
t.setLayout(new GridLayout(3,1));
//
JPanel jp1 = new JPanel();
JLabel jl1 = new JLabel("用 户");
JTextField jt = new JTextField(10);
jp1.add(jl1);
jp1.add(jt);
JPanel jp2 = new JPanel();
JLabel jl2 = new JLabel("登 陆");
JPasswordField jp = new JPasswordField(10);
jp2.add(jl2);
jp2.add(jp);
//
JPanel jp3 = new JPanel();
JButton jb1 = new JButton("确 定");
JButton jb2 = new JButton("取 消");
jp3.add(jb1);
jp3.add(jb2);
//
t.add(jp1);
t.add(jp2);
t.add(jp3);
t.setVisible(true);
t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
15.6设置标签JLable
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Yy extends JFrame {
public static void main(String[] args) {
// TODO Auto-generated method stub
Yy y = new Yy();
y.setTitle("title");
y.setBackground(Color.blue);
y.setBounds(400,300,300,200);
y.setLayout(new GridLayout());
//
JLabel jl = new JLabel("标 签");
JLabel jl1 = new JLabel("标 签1");
JLabel jl2 = new JLabel("标 签2");
JLabel jl3 = new JLabel("标 签3");
//
y.add(jl);
y.add(jl1);
y.add(jl2);
y.add(jl3);
y.setVisible(true);
y.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
15.7设置按钮JButton
import javax.swing.JButton;
import javax.swing.JFrame;
public class TestJButton extends JFrame {
public static void main(String[] args) {
TestJButton tjb = new TestJButton();
tjb.setTitle("title");
tjb.setSize(300,300);
JButton jb =new JButton("jbutton");
tjb.add(jb);
tjb.setVisible(true);
tjb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
15.8设置控件
15.8.1文本框JTextField
15.8.2多行文本框JTextArea
15.8.3密码框JPasswordField
15.8.4单选按钮JRadioButton
15.8.5复选框JCheckBox
15.8.6列表框JList
15.9练习
顶层容器
菜单
中间容器
基本组件
package com.AhaBest.swing;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestSwing extends JFrame {
public static void main(String[] args) {
// 创建顶层容器窗体
TestSwing jf = new TestSwing();
//创建窗体图标
ImageIcon ii = new ImageIcon("Images/01.jpg");
//加载窗体图标
jf.setIconImage(ii.getImage());
//设置窗体标题
jf.setTitle("窗体");
//设置窗体位置
jf.setLocation(200,200);
//设置窗体大小
jf.setSize(800,600);
//创建中间容器面板
JPanel jp = new JPanel();
//创建基本组件按钮并添加到面板
JButton jb = new JButton();
jb.setText("按钮组件");
jp.add(jb);
//添加面板容器到窗体
jf.add(jp);
//设置窗体可见性
jf.setVisible(true);
//设置窗体关闭方式
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
布局
流式布局FlowLayout
package com.AhaBest.swing;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestSwing extends JFrame {
public static void main(String[] args) {
// 创建顶层容器窗体
TestSwing jf = new TestSwing();
//创建窗体图标
ImageIcon ii = new ImageIcon("Images/01.jpg");
//加载窗体图标
jf.setIconImage(ii.getImage());
//设置窗体标题
jf.setTitle("窗体");
//设置窗体位置
jf.setLocation(200,200);
//设置窗体大小
jf.setSize(800,600);
//创建中间容器面板使用流式布局
JPanel jp = new JPanel(new FlowLayout());
//创建基本组件按钮并添加到面板
JButton jb1 = new JButton();
jb1.setText("按钮组件1");
JButton jb2 = new JButton("按钮组件2");
JButton jb3 = new JButton("按钮组件3");
JButton jb4 = new JButton("按钮组件4");
JButton jb5 = new JButton("按钮组件5");
jp.add(jb1);jp.add(jb2);jp.add(jb3);jp.add(jb4);jp.add(jb5);
//添加面板容器到窗体 jf.add(jp);
jf.setContentPane(jp);
//设置窗体可见性
jf.setVisible(true);
//设置窗体关闭方式
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
网格布局GridLayout
package com.AhaBest.swing;
import java.awt.GridLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class TestSwing extends JFrame {
public static void main(String[] args) {
// 创建顶层容器窗体
TestSwing jf = new TestSwing();
//创建窗体图标
ImageIcon ii = new ImageIcon("Images/01.jpg");
//加载窗体图标
jf.setIconImage(ii.getImage());
//设置窗体标题
jf.setTitle("窗体");
//设置窗体位置
jf.setLocation(200,200);
//设置窗体大小
jf.setSize(800,600);
//创建3行3列的网格布局
GridLayout gy = new GridLayout(3,3);
//设置水平与竖直间隙
gy.setHgap(10);gy.setVgap(10);
//创建中间容器面板
JPanel jp = new JPanel(gy);
//创建基本组件按钮并添加到面板
JButton jb1 = new JButton();
jb1.setText("按钮组件1");
JButton jb2 = new JButton("按钮组件2");
JButton jb3 = new JButton("按钮组件3");
JButton jb4 = new JButton("按钮组件4");
JButton jb5 = new JButton("按钮组件5");
JButton jb6 = new JButton("按钮组件6");
JButton jb7 = new JButton("按钮组件7");
JButton jb8 = new JButton("按钮组件8");
jp.add(jb1);jp.add(jb2);jp.add(jb3);jp.add(jb4);jp.add(jb5);jp.add(jb6);jp.add(jb7);jp.add(jb8);
//添加面板容器到窗体 jf.add(jp);
jf.setContentPane(jp);
//设置窗体可见性
jf.setVisible(true);
//设置窗体关闭方式
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
JLabel,标签。标签主要用于展示 文本 或 图片,也可以 同时显示文本和图片。
package com.AhaBest.swing;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
public class TestSwing extends JFrame {
public static void main(String[] args) {
// 创建顶层容器窗体
TestSwing jf = new TestSwing();
//创建窗体图标
ImageIcon ii = new ImageIcon("Images/01.jpg");
//加载窗体图标
jf.setIconImage(ii.getImage());
//设置窗体标题
jf.setTitle("窗体");
//设置窗体位置
jf.setLocation(200,200);
//设置窗体大小
jf.setSize(800,600);
//创建中间容器面板
JPanel jp = new JPanel();
//只显示文字
JLabel jl1 = new JLabel();
jl1.setText("only text");
jp.add(jl1);
//显示文字与图片
JLabel jl = new JLabel();
jl.setText("text&&Picture");
jl.setIcon(new ImageIcon("Images/01.jpg"));
jl.setHorizontalTextPosition(SwingConstants.CENTER);
jl.setVerticalTextPosition(SwingConstants.BOTTOM);
jp.add(jl);
//显示图片
JLabel jl2 = new JLabel();
jl2.setIcon(new ImageIcon("Images/01.jpg"));
jp.add(jl2);
//添加面板容器到窗体 jf.add(jp);
jf.setContentPane(jp);
//设置窗体可见性
jf.setVisible(true);
//设置窗体关闭方式
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
JButton(按钮)
Java图形界面GUI的更多相关文章
- AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件
AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件( component s). 由于Java是一种独立于平台的 程序设计语言 ,但GUI ...
- Java 图形界面开发--图文并茂建立学生管理系统
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客) 图形用户界面(Graphics U ...
- Java图形界面学习---------简易登录界面
/** * @author Administrator * Java图形界面学习---------简易登录界面 * date:2015/10/31 */ import java.awt.BorderL ...
- Go 在 Windows 上用户图形界面 GUI 解决方案 Go-WinGUI 国产(使用cef 内核)
Go 在 Windows 上用户图形界面 GUI 解决方案 Go-WinGUI 国产 Go 在服务端的优势不容置疑,但是在桌面应用上却没有好的 GUI 支持,本项目是 Go 语言在 Windows 上 ...
- 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用户界面组件与事件处理 ...
- 十. 图形界面(GUI)设计2.框架窗口
窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用.有以下三种窗口: Applet窗口:Applet类管理这 ...
- 十. 图形界面(GUI)设计1.图形界面设计基础
早先程序使用最简单的输入输出方式,用户在键盘输入数据,程序将信息输出在屏幕上.现代程序要求使用图形用户界面(Graphical User Interface,GUI),界面中有菜单.按钮等,用户通过鼠 ...
- java 图形界面 Socket编程
一.使用图形界面实现客户端服务器端的通信: 上代码: 服务器端代码: package cn.MyNET; import java.io.*; import java.net.*; import jav ...
随机推荐
- DirectX11 学习笔记7 - 支持自由移动的摄像机
如今将又一次制定一个camera摄像机.能够自由移动. 比方前进 后退,上游 下潜. 各个方向渲染之类的. 首先设置按键. 这个时候须要在 XWindow.h 里面 bool XWindow::fra ...
- Unity3D & C# 设计模式--23
Unity3D & C#Design Patterns 23 design patterns. Creational Patterns 1. Abstract Factory抽象工厂 创 ...
- web 开发之js---js 实现地址栏的表单提交加密编码
以前在做嵌入式web时,曾经想过cgi加密,原来js可以直接实现,太好了,这里js在客户端实现编码和解码 一.在地址栏直接输入:javascript:str=encodeURI("笃行天下& ...
- 【bzoj1029】[JSOI2007]建筑抢修
按照t2从小到大排列之后贪心. 若当前任务可以插入,则插入. 若当前任务不可以插入,分两种情况: ①当前任务的耗时大于等于之前插入的任务的最大耗时:跳过当前任务 ②当前任务的耗时小于之前插入的任务的耗 ...
- java异常——重新抛出异常
有时候希望把刚捕获的异常重新抛出,尤其是在使用Exception捕获所有异常的时候.既然已经得到了对当前异常对象的引用,可以直接把它重新抛出: catch(Exception e){ System.o ...
- mongodb AND查询遇到多个index时候可能会做交集——和复合索引不同
关于MongoDB中索引文档的一个问题? - To illustrate index intersection, consider a collection orders that has the f ...
- python-----删除空文件夹
问题描述: 有时,我们的文件夹太多了,但有的文件夹还是空的文件夹,自己去删需要好久,于是想着写个脚本自动删除.代码如下: #!/usr/bin/env python # -*- coding: utf ...
- bzoj1999 (洛谷1099) 树网的核——dfs
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1999 https://www.luogu.org/problemnew/show/P109 ...
- 0623-TP框架整理一(下载、入口文件、路由、创建控制器、调用模板、系统常量、命名空间)
一.下载解压后用ThinkPHP(核心)文件 核心文件夹(ThinkPHP)不要改,是作用于全局的,有需要可以改应用目录(Application) 二.创建入口文件: 运行后出现欢迎界面,在说明系统自 ...
- vux修改css样式的2种办法
最近手上有个移动端的项目.前端UI框架是选择的VUX.但是在使用的时候经常会发现框架自带的组件样式和我们要求的不一致.经常需要手动覆盖样式.这里记录下我们使用的2种方法. 我们以XHeader组件 ...