总结—界面_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 总结—界面

总结—界面

 2014/11/8 22:07:56  what_about_melon  程序员俱乐部  我要评论(0)
  • 摘要:总结——Swing界面开发1.常用的组件容器组件:能装载容器组件或者元素组件。javax.swing.JFrame窗体容器组件顶级容器元素组件:只能显示文字或者图片。javax.swing.JLabel标签元素组件显示文字,图片javax.swing.JTextField文本输入框元素组件接收输入,直接显示javax.swing.JButton按钮组件显示文字,图片,可以点击。布局组件:主要应用在容器组件中,主要对容器上添加的组件进行排列显示。java.awt
  • 标签:总结

class="p0">总结——Swing界面开发

1.常用的组件

容器组件:能装载容器组件或者元素组件。

javax.swing.JFrame窗体容器组件顶级容器

?

元素组件:只能显示文字或者图片。

javax.swing.JLabel标签元素组件显示文字,图片

javax.swing.JTextField文本输入框元素组件接收输入,直接显示

javax.swing.JButton按钮组件显示文字,图片,可以点击。

?

布局组件:主要应用在容器组件中,主要对容器上添加的组件进行排列显示。

java.awt.FlowLayout流式布局组件word文档。

?

2.实现一个简单的登录界面

1.新建一个Login类,在类中定义主函数和初始化界面的方法。

2.在初始化界面的方法中创建JFrame类的对象。

3.设置JFrame对象的属性值(大小,标题,位置,关闭,可见,布局)。

4.创建元素组件对象,将创建好的对象添加到JFrame容器上。

5.在主函数中创建Login类的对象,然后调用初始化界面的方法。

?

3.练习

1.实现登录界面

?

?

2.实现计算器界面

?

?

4.接口

定义接口的关键字:interface

public?interface?接口名?extends?接口,...?{

//常量

public?static?final?数据类型??常量名?=?值;

static?final?数据类型??常量名?=?值;

数据类型??常量名?=?值;

?

//抽象方法

public?abstract?返回值类型??方法名(数据类型?参数名,...);

public?返回值类型??方法名(数据类型?参数名,...);

abstract?返回值类型??方法名(数据类型?参数名,...);

返回值类型??方法名(数据类型?参数名,...);

?

}

?

注意:1.接口中只有一种访问修饰符public?。

?2.抽象方法定义时一定要以;结尾。

?3.接口不能创建对象

?4.接口可以继承一个或者多个接口

?

实现接口的关键字:implements

格式:

public?class?类?extends?类?implements?接口,...?{

?

//定义属性

?

//定义构造方法,普通方法

?

}

当类实现接口后,类必须要实现(重写)接口中所有的抽象方法,如果没有实现(重写)接口

中的抽象方法,则程序编译报错。

?

丰富类的继承。

?

接口和类的区别:

?

?

5.事件

Qie?ting风云:吴彦祖(接收到画面和声音)?????刘青云(安装了qie?ting器)

事件源

只能是Swing的图形界面组件。

动作发生在某一个组件上,那么该组件就会成为一个事件源对象。

<!--[if !supportLists]-->1.<!--[endif]-->开发登陆界面

public?class?JFrameTest{

public?static?void?main(String?args[]){

JFrameTest?tf=new?JFrameTest();

tf.showFrame();

}

//显示一个加有多个组件的窗体界面

public?void?showFrame(){

????//创建一个窗体对象

JFrame?frame=new?JFrame();

??frame.setTitle("第一个登陆界面");//设置标题

???????//创建一个标签元素

???????JLabel?la_name=new?JLabel("名字");

????????//创建一个指定长度的文本

???????JTextField?jta_name=new?JTextField(4);

???????//创建一个按钮;

???????JButton?bu_login=new?JButton("登陆");

???????//将这三个组件加到窗体上

???????frame.add(la_name);

???????frame.add(jta_name);

???????frame.add(bu_login);

???????frame.setSize(200,200);//设置窗体大小

???????frame.setVisible(true);//让窗体显示出来,这句要放到最后面

???}???

}

?

??效果图:?

?????????????????????

?

?

<!--[if !supportLists]-->2.<!--[endif]-->使用布局管理器管理组件的摆放

布局方法:FlowLayout()流体布局,自动式,不可控

??????????Layout(null)空布局?可以设置位置

?????????orderLayout???边框布局

?

public?class?Flowbuju?{

public?static?void?main(String[]?args)?{

?Flowbuju?Fb?=?new?Flowbuju();

?Fb.showFrame();

}

public?void?showFrame(){

???????//构造一个窗体对象

????JFrame?jf?=?new?JFrame();

//设置标题

jf.setTitle("第一个界面程序");

//设置大小

jf.setSize(400,?200);

//设置位置

jf.setLocationRelativeTo(null);

//放置元素组件前,要创建并给窗体加上布局管理器:

//创建流失布局管理器对象:

FlowLayout?f1?=?new?FlowLayout();

jf.setLayout(f1);

//创建一个标签元素:

JLabel?ja?=?new?JLabel("账号");

//创建一个指定长度的文本

JTextField?jt?=?new?JTextField(4);

//创建一个标签元素:

JLabel?ja2?=?new?JLabel("密码");

//创建一个指定长度的文本

JTextField?jt2?=?new?JTextField(4);

//创建一个按钮

JButton?jb?=?new?JButton("登陆");

?

jf.add(ja);

jf.add(jt);

jf.add(ja2);

jf.add(jt2);

jf.add(jb);

jf.setDefaultCloseOperation(3);//窗体关闭时程序退出

jf.setVisible(true);//让窗体显示出来,这句要放到最后面

LoginListener?ll?=?new?LoginListener();

jb.addActionListener(ll)??

}

}

?

?

空布局示例

public?class?Login?{

?

public?static?void?main(String[]?args)?{

Login?Fb?=?new?Login();

Fb.showFrame();

}

?

public?void?showFrame(){

//构造一个窗体对象

????JFrame?jf?=?new?JFrame();

//设置标题

jf.setTitle("QQ登陆界面");

//设置大小

jf.setSize(430,?330);

//设置位置

jf.setLocationRelativeTo(null);

//创建流式布局

jf.setLayout(null);

?

//添加图片背景

JLabel?image?=?new?JLabel(new?ImageIcon("Picture/bj.jpg"));

image.setBounds(0,?0,?430,?330);

?????jf.add(image);

?

????//创建一个标签元素:

JLabel?ja?=?new?JLabel("账号");

//创建一个指定长度的文本

JTextField?jt?=?new?JTextField("账号");

jt.setBounds(120,?193,?193,26);

image.add(ja);

image.add(jt);

?

?

//创建一个标签元素:

JLabel?ja2?=?new?JLabel("密码");

//创建一个指定长度的文本

JTextField?jt2?=?new?JTextField("密码");

jt2.setBounds(120,?221,?193,26);

//将标签加到图片上????

/*

?*?加到jf上时不能显示

?*?eg:

?*??

?*??jf.add(ja2);

?*?

?*/

image.add(ja2);

image.add(jt2);

?

?

//创建一个按钮

JButton?jb?=?new?JButton("登陆");

jb.setBounds(120,252,193,30);

image.add(jb);

?

//设置大小不可改变

jf.setResizable(false);?

?

jf.setDefaultCloseOperation(3);//窗体关闭时程序退出

?

jf.setVisible(true);//让窗体显示出来,这句要放到最后面

//添加监听

LoginListener?ll?=?new?LoginListener();

jb.addActionListener(ll)

?

}

?

}



?

监听器

public?class?LoginListener?implements?ActionListener?{

?

public?void?actionPerformed(ActionEvent?e)?{

?

?

?

JFrame?jf?=?new?JFrame();

//设置标题

jf.setTitle("QQ");

//设置大小

jf.setSize(280,?668);

//设置大小不可改变

jf.setResizable(false);?

jf.setLocationRelativeTo(null);

?

//放置元素组件前,要创建并给窗体加上布局管理器:

//创建流失布局管理器对象:

java.awt.FlowLayout?f1?=?new?java.awt.FlowLayout();

jf.setLayout(f1);

//创建一个标签元素:

JLabel?ja?=?new?JLabel("账号");

//创建一个指定长度的文本

JTextField?jt?=?new?JTextField(e.getActionCommand());

jt.setPreferredSize(new?Dimension?(50,30));

?

//创建一个标签元素:

JLabel?ja2?=?new?JLabel("密码");

//创建一个指定长度的文本

JTextField?jt2?=?new?JTextField(e.getActionCommand());

jt2.setPreferredSize(new?Dimension(50,?30));

?

?

jf.add(ja);

jf.add(jt);

jf.add(ja2);

jf.add(jt2);

?

jf.setDefaultCloseOperation(3);//窗体关闭时程序退出

jf.setVisible(true);//让窗体显示出来,这句要放到最后面

?

?

}

?

}? ? ? ?

?

  • 大小: 10.8 KB
  • 大小: 83.6 KB
  • 大小: 13 KB
  • 查看图片附件
发表评论
用户名: 匿名