预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验八Java图形用户界面设计(I) §8.1实验目的、内容及性质 掌握Java的GUI设计技术,掌握AWT和Swing的应用技巧。 实验性质:验证、必做 实验学时:2学时 §8.2问题及思考 最常见的AWT以及Swing控件用法。 几个常见布局总结 区分容器控件和一般非容器控件 §8.3实验指导 Swing示例 /*需要哪些组件,如何布局?*/ importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; publicclassMyFrmextendsJFrame{//从JFrame继承 /*声明界面需要使用的控件*/ JLabellbl_name=newJLabel("用户名"); JLabellbl_pwd=newJLabel("密码"); JTextFieldtxt_name=newJTextField(); JPasswordFieldtxt_pwd=newJPasswordField(); JButtonbtn_OK=newJButton("登陆"); JButtonbtn_Cancel=newJButton("取消"); /*在构造函数中将控件放置在JFrame上*/ publicMyFrm(){ /*获取当前Frame的内容面板*/ JPaneljp=(JPanel)this.getContentPane(); /*设置内容面板的布局Layout*/ jp.setLayout(newGridLayout(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); } publicstaticvoidmain(Stringarg[]){ /*纯Java样式显示窗体*/ JFrame.setDefaultLookAndFeelDecorated(true); /*实例化当前窗体类*/ MyFrmfrm=newMyFrm(); frm.setSize(200,200); frm.setVisible(true); } } 2、常用布局 1)、流布局:FlowLayout从左到右,自上而下方式在容器中排列,控件的大小不会随容器大小变化. 容器.setLayout(newFlowLayout(FlowLayout.LEFT)); 2)、网格布局:GridLayout按照指定行数与列数,将容器分成大小相等的单元格每个单元格放置一个控件.不能将控件放在指定单元格 容器.setLayout(newGridLayout(3,4,10,15)); 3)、边界布局:BorderLayout将容器分成东、西、南、北、中五个部分 容器.setLayout(newBorderLayout()); 窗口的内容面板默认布局就是边界布局。 容器.add(控件,BorderLayout.NORTH); 4)、混合布局:使用JPanel,将多个布局组合在一起使用 JPaneljp=(JPanel)this.getContentPane(); for(inti=0;i<btn.length;i++) btn[i]=newJButton("btn"+i); JPaneljp1=newJPanel();//默认布局为FlowLayout jp1.setLayout(newGridLayout(2,2)); for(inti=0;i<4;i++) jp1.add(btn[i]); JPaneljp2=newJPanel();//默认布局为FlowLayout for(inti=0;i<4;i++) jp2.add(btn[i+4]); 5)、绝对布局null:以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界setBounds(x,y,width,height); btn.setBounds(10,100,30,60); 3、Swing示例Grid布局 importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; publicclassGridLayoutDemoextendsJFrame{ privateJButtonbuttons[]; privateStringnames[]={"one","two","three