java

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);
}

}

[img]http://dl2.iteye.com/upload/attachment/0091/2762/81fe2549-4129-3c30-97af-4ab317e1031b.jpg[/img]
简单计算器
 
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);
}


}

运行结果
[img]http://dl2.iteye.com/upload/attachment/0091/2770/c35eb40d-e2aa-3f99-aa6a-4f269eb72196.jpg[/img]
基于SSM框架的智能家政保洁预约系统,是一个旨在提高家政保洁服务预约效率和管理水平的平台。该系统通过集成现代信息技术,为家政公司、家政服务人员和消费者提供了一个便捷的在线预约和管理系统。 系统的主要功能包括: 1. **用户管理**:允许消费者注册、登录,并管理他们的个人资料和预约历史。 2. **家政人员管理**:家政服务人员可以注册并更新自己的个人信息、服务类别和服务时间。 3. **服务预约**:消费者可以浏览不同的家政服务选项,选择合适的服务人员,并在线预约服务。 4. **订单管理**:系统支持订单的创建、跟踪和管理,包括订单的确认、完成和评价。 5. **评价系统**:消费者可以在家政服务完成后对服务进行评价,帮助提高服务质量和透明度。 6. **后台管理**:管理员可以管理用户、家政人员信息、服务类别、预约订单以及处理用户反馈。 系统采用Java语言开发,使用MySQL数据库进行数据存储,通过B/S架构实现用户与服务的在线交互。系统设计考虑了不同用户角色的需求,包括管理员、家政服务人员和普通用户,每个角色都有相应的权限和功能。此外,系统还采用了软件组件化、精化体系结构、分离逻辑和数据等方法,以便于未来的系统升级和维护。 智能家政保洁预约系统通过提供一个集中的平台,不仅方便了消费者的预约和管理,也为家政服务人员提供了一个展示和推广自己服务的机会。同时,系统的后台管理功能为家政公司提供了强大的数据支持和决策辅助,有助于提高服务质量和管理效率。该系统的设计与实现,标志着家政保洁服务向现代化和网络化的转型,为管理决策和控制提供保障,是行业发展中的重要里程碑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值