- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验八 Java Swing编程(I)
实验八 Java 图形用户界面设计(I)
§8.1实验目的、内容及性质
掌握 Java 的 GUI 设计技术,掌握 AWT 和 Swing 的应用技巧。import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyFrm extends JFrame{//从JFrame继承
/*声明界面需要使用的控件*/
JLabel lbl_name =new JLabel(用户名);
JLabel lbl_pwd =new JLabel(密码);
JTextField txt_name=new JTextField();
JPasswordField txt_pwd=new JPasswordField();
JButton btn_OK=new JButton(登陆);
JButton btn_Cancel=new JButton(取消);
/*在构造函数中将控件放置在JFrame上*/
public MyFrm(){
/*获取当前Frame的内容面板*/
JPanel jp=(JPanel)this.getContentPane();
/*设置内容面板的布局 Layout*/
jp.setLayout(new GridLayout(3,2));
jp.add(lbl_name);jp.add(txt_name);
jp.add(lbl_pwd);jp.add(txt_pwd);
jp.add(btn_OK);jp.add(btn_Cancel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String arg[]){
/*纯Java样式显示窗体*/
JFrame.setDefaultLookAndFeelDecorated(true);
/*实例化当前窗体类*/
MyFrm frm=new MyFrm();
frm.setSize(200,200);
frm.setVisible(true);
}
}
2、常用布局
1)、流布局:FlowLayout 从左到右,自上而下方式在容器中排列,控件的大小不会随容器大小变化.
容器.setLayout(new FlowLayout(FlowLayout.LEFT));
2)、网格布局:GridLayout 按照指定行数与列数,将容器分成大小相等的单元格每个单元格放置一个控件. 不能将控件放在指定单元格
容器.setLayout(new GridLayout(3,4,10,15));
3)、边界布局:BorderLayout 将容器分成东、西、南、北、中五个部分
容器.setLayout(new BorderLayout());
窗口的内容面板默认布局就是边界布局。
容器.add(控件,BorderLayout.NORTH);
4)、混合布局:使用JPanel,将多个布局组合在一起使用
JPanel jp=(JPanel)this.getContentPane();
for(int i=0;ibtn.length;i++)
btn[i]=new JButton(btn+i);
JPanel jp1=new JPanel();//默认布局为FlowLayout
jp1.setLayout(new GridLayout(2,2));
for(int i=0;i4;i++)
jp1.add(btn[i]);
JPanel jp2=new JPanel();//默认布局为FlowLayout
for(int i=0;i4;i++)
jp2.add(btn[i+4]);
5)、绝对布局 null:以坐标定位
容器.setLayout(null);
每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height);
btn.setBounds(10,100,30,60);
3、Swing示例Grid布局
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GridLayoutDemo extends JFrame{
private JButton buttons[];
private String n
文档评论(0)