SWING界面开发(API文档的使用)¬¬¬
1.swing组件
构建界面的类,系统封装的类。
如果用到需引进它所在的包(打包快捷键ctrl+shift+o)
所在的包 javax.swing
java.awt
2.常用的swing组件
1.容器组件:
JFrame(窗体) 顶级容器 (JPanel,元素组件)
JPanel(面板) 容器 (JPanel,元素组件)
2.元素组件:
JButton(按钮)//可以添加图片
JLabel(标签)//字符串,可以添加图片
JComboBox(组合框)
JPasswordField(密码输入框)
JCheckBox(复选框)
JTextField (文本输入框)
打包快捷键ctrl+shift+O
3.布局(常用)
1) 边框布局BorderLayout
2) 流布局FlowLayout
3) 绝对布局 (空布局) setLayout(null)
4.API文档的使用(eclipse的编程)
用法:若知道类名,可以搜索到这个类,再找方法名(快捷键ctrl+F);或者根据程序的功能在网上搜索方法和类,再在API文档中查找方法说明和代码。
5.对封装的理解
封装就是把属性和方法一起包装到一个程序单元中,并隐藏方法的实现过程,这个程序单元以类的形式实现。
封装的含义:1)隐藏内部行为,即隐藏内部函数,调用者只能看到对外提供的公共函数
2)隐藏内部信息,即隐藏内部数据成员
封装的作用:1)可以隔离变化
原因对象内部容易变化,如计算机中把CPU和内存封装起来,对外提供接口,只要接口不变,内部的变化不会影响到用户的使用方式。
2)可以提高易用性
封装后只暴露最少的信息给用户,对外接口清晰,使用更方便。
6.项目实例来说明
package swing界面;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class GUI {
public static void main(String[] args) {
GUI ui = new GUI();
//使用对象调用方法
ui.initUI();
}
//定义创建界面的方法
public void initUI(){
//创建窗体对象
JFrame jf = new JFrame();
//设置标题
jf.setTitle("QQ");
//设置窗体的大小
jf.setSize(405, 302);
//设置默认的关闭操作
jf.setDefaultCloseOperation(3);
//设置窗体的布局为绝对布局
jf.setLayout(null);
//实例化按钮对象
JButton btn1 = new JButton("登录");
//设置按钮的位置和大小
btn1.setBounds(180, 230, 60, 30);
//把按钮添加到窗体上
jf.add(btn1);
ImageIcon image = new ImageIcon("F:\\编程图片专用\\juejian.jpg");
//实例化一个JLabel的标签对象,该对象现实一张图片
JLabel j1 = new JLabel(image);
//设置图片标签的位置
j1.setBounds(20, 73, 100, 100);
jf.add(j1);
//新建一个ImageIcon的对象,在对象中添加一个图片的路径
ImageIcon im = new ImageIcon("F:\\编程图片专用\\f.jpg");
//实例化一个Button的标签对象,该对象现实一张图片
JButton btn2 = new JButton(im);
btn2.setBounds(38,230,41,36);
jf.add(btn2);
//新建一个ImageIcon的对象
ImageIcon ima = new ImageIcon("F:\\编程图片专用\\s.jpg");
JButton btn3 = new JButton(ima);
btn3.setBounds(320,230,43,39);
jf.add(btn3);
//设置背景图片
ImageIcon icon = new ImageIcon("F:\\编程图片专用\\bj.gif");
//创建标签对象
JLabel j2 = new JLabel(icon);
j2.setBounds(0, 0, icon.getIconWidth(), icon.getIconHeight());
//把标签添加在JFrame的添加背景层
jf.getLayeredPane().add(j2, new Integer(Integer.MIN_VALUE));
//把JFrame 的上层设置为透明
JPanel jp = (JPanel)jf.getContentPane();
jp.setOpaque(false);
//实例化标签对象
JLabel jl = new JLabel("注册账户");
JLabel jl1 = new JLabel("输入密码");
JLabel jl2 = new JLabel("记住密码");
JLabel jl3 = new JLabel("自动登录");
//设置标签的位置和大小
jl.setBounds(256,85, 60, 20);
jl1.setBounds(256,115,60,20);
jl2.setBounds(160,140,60,20);
jl3.setBounds(230,140,60,20);
jf.add(jl2);
jf.add(jl3);
jf.add(jl1);
jf.add(jl);
//实例化组合框对象
javax.swing.JComboBox jc3 = new javax.swing.JComboBox();
//使组合框可以输入
jc3.setEditable(true);
//设置组合框的大小
jc3.setBounds(150,80,100,20);
jf.add(jc3);
//创建密码输入框
javax.swing.JPasswordField jp1=new javax.swing.JPasswordField();
jp1.setBounds(150,110,100,20);
jf.add(jp1);
//创建复选框
javax.swing.JCheckBox jc1=new javax.swing.JCheckBox();
javax.swing.JCheckBox jc2=new javax.swing.JCheckBox();
jc1.setBounds(140,145,16,15);
jc2.setBounds(214,145,16,15);
jf.add(jc2);
jf.add(jc1);
//使窗体可见
jf.setVisible(true);
}
}
简单计算器
package 简单登录界面;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class GUI {
public static void main(String args[]){
GUI ui=new GUI();
ui.initUI();
}
public void initUI(){
//创建一个窗体对象
JFrame jf=new JFrame("计算器");
//设置窗体的大小
jf.setSize(new Dimension(370,390));
//设置关闭时的操作
jf.setDefaultCloseOperation(3);
//设置窗体出现的位置为屏幕的中间
jf.setLocationRelativeTo(null);
//创建菜单栏对象
JMenuBar menuBar = new JMenuBar();
//把菜单栏添加在菜单上
jf.setJMenuBar(menuBar);
//创建菜单对象
JMenu menuV= new JMenu("查看(V)");
JMenu menuE = new JMenu("编辑(E)");
JMenu menuH = new JMenu("帮助(H)");
//把菜单添加在菜单栏上
menuBar.add(menuV);
menuBar.add(menuE);
menuBar.add(menuH);
//这个菜单为menuV的下一级菜单
JMenu menuVw= new JMenu("工作表(W)");
menuV.add(menuVw);
//创建menuVw的菜单项
String array1 []={"抵押(M)","汽车租赁(V)","油耗(mpg)(F)",
"油耗(1/100km)(U)"};
for(int i=0;i<array1.length;i++){
JMenuItem itemW= new JMenuItem(array1[i]);
menuVw.add(itemW);
}
//把数组存放菜单项,用循环语句创建菜单项对象
String array2 []={"标准型(T) Alt+1","科学型(S) Alt+2",
"程序员(P) Alt+3","统计信息(A) Alt+4","历史记录 ctrl+N",
"数字分组(I)","基本(B) ctrl+f4","单位转换(U) ctrl+U",
"日期计算(D) ctrl+E"};
for(int j=0;j<array2.length;j++){
JMenuItem itemV= new JMenuItem(array2[j]);
menuV.add(itemV);
}
//创建menuE的菜单项
JMenuItem C = new JMenuItem("复制 ctrl+C");
JMenuItem V =new JMenuItem ("粘贴 ctrl+V");
JMenuItem N= new JMenuItem("历史记录 ctrl+N");
menuE.add(C);
menuE.add(V);
menuE.add(N);
//创建menuH的菜单项
JMenuItem F1 = new JMenuItem("关于帮助(V) F1");
JMenuItem A1 = new JMenuItem("关于计算器(A)");
menuH.add(F1);
menuH.add(A1);
/**
* 窗体默认的布局为边框布局
* 用面板把窗体分为北,西,东三部分
* 北边面板放文本输入框
* 西边和东边采用流布局添加按钮
* 面板默认的布局方式为流布局
* 用数组存放按钮,for循环创建对象
* 和其他按钮的大小不同的用if条件语句判断
*/
JPanel jpNorth = new JPanel ();
JPanel jpWest = new JPanel ();
JPanel jpEast = new JPanel ();
jpNorth.setPreferredSize(new Dimension(0,70));
jpEast.setPreferredSize(new Dimension(85,0));
jpWest.setPreferredSize(new Dimension(285,0));
//东边面板流布局,左对齐,每个按钮之间的水平距离和竖直距离
jpEast.setLayout(new FlowLayout(FlowLayout.RIGHT,0,6));
//西边面板流布局,左对齐,每个按钮之间的水平距离和竖直距离
jpWest.setLayout(new FlowLayout(FlowLayout.LEFT,9,6));
jf.add(jpNorth,BorderLayout.NORTH);
jf.add(jpWest,BorderLayout.WEST);
jf.add(jpEast,BorderLayout.EAST);
//创建文本输入框对象
JTextField jt=new JTextField();
jt.setPreferredSize(new Dimension(340,80));
jpNorth.add(jt);
//创建东边面板上按钮的对象
String array3[]={"M-","√","%","1/x","=", };
for(int k=0;k<array3.length;k++){
JButton buttonE=new JButton(array3[k]);
if(k<4){
buttonE.setPreferredSize(new Dimension(62,35));
}
else{
buttonE.setPreferredSize(new Dimension(62,75));
}
jpEast.add(buttonE);
}
//创建西边面板上 按钮的对象
String array4[]={"MC","MR","MS","M+"," ","CE","C","±",
"7","8","9", "/","4","5","6","*","1","2","3",
"-","0",".","+"};
for(int m=0;m<array4.length;m++){
JButton buttonW=new JButton(array4[m]);
if(m==20){
buttonW.setPreferredSize(new Dimension(130,35));
}
else{
buttonW.setPreferredSize(new Dimension(62,35));
}
jpWest.add(buttonW);
}
//使窗体显现出来
jf.setVisible(true);
}
}
运行结果
- 大小: 45 KB
- 大小: 34.5 KB
分享到:
相关推荐
这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...
Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的文本格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票处理等。...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...
java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java电商源代码java...
JAVA开发人员最新版本7.0 api文档!本文档是 Java Platform Standard Edition 7 的 API !Java 1.7 API的中文帮助文档。 深圳电信培训中心 徐海蛟博士教学用api 7.0中文文档。支持全文检索,在线即时查询。 里面列...
java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 Java文件管理系统源码 ...
标题"smali2java——直接将smali转换成java"揭示了本文的核心主题,即一个名为"smali2java"的工具,它的主要功能是将编程语言Smali转换为Java。Smali是一种低级的、汇编式的语言,通常用于Android应用的逆向工程,而...
Java到Python的转换工具,如标题“java2python”所示,是编程领域中的一种实用技术,旨在帮助开发者将已有的Java代码转换为Python语言。这种转换对于那些熟悉Java但希望进入Python生态系统,或者想要利用Python特定...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
jdk11官方版是一款专为java编程人员推出的软件开发工具。JAVA JDK 11最新版可以帮助用户轻松的获取到JAVA的运行环境,让你在电脑上进行程序开发操作。JAVA JDK 11软件新增Epsilon 垃圾收集器和lambda 参数的局部变量...
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的...