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.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...
Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...
这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...
Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的文本格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票处理等。...
Java API文档是Java开发者的重要参考资料,它包含了Java开发工具包(JDK)中的所有类、接口、方法和常量的详细说明。这份中文网页版的Java API文档为中国的开发者提供了便利,无需通过英文版本来学习和查找API信息,...
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单机小游戏java单机小游戏...
java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点导航系统java景点...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
java简易小游戏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是为解决应用系统对于...
Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...
HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性,灵活性和安全性。本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...