java程序设计——GUI
程序员文章站
2022-04-11 17:47:18
...
ui 组件
JAVA 的图形用户界面的最基本组成部分为组件,组件是一个可以以图形的方式,显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。
组件不能独立显示出来,必须将组件放在一定的容器中,才可以显示出来。
在component 类中定义了AWT 组件具有的一般功能,如大小和位置控制,外形控制,组件的状态和控制等
AWT 支持的组件,按钮,标签,文本框,文本区,复选框,单选按钮,滚动条,表格,菜单等
容器
容器实际上是component 的子类,因此容器本身也是一个组件,具有组件的所有性质,另外还具有容纳其他组件的容器的功能,通过容器来组织其他界面成分的元素
容器类具有的功能是组件管理和布局管理,在组件管理中,包含的方法有add (),remove ()等,分别用于添加组件,删除组件。
container 类可直接或间接派生出两个常用容器,框架,和面板
帮助类
Graphics 类,是所有用来在组件上进行图形绘制时所有使用的图形环境上下文的父类
Flowlayout ():生成一个默认的流式布局
FlowLayout (int alignment)可以设定每一行组件的对齐方式
FlowLayout ( int alignment, int horz, int vert):可以设定组件间的水平和垂直距离
通过使用抽象窗口工具包( AWT)来创建图形用户界面gui AWT 包中提供了3大类:
1.容器类2. ui 组件类3.帮助类
在JDK1.2 版本后,引入新的包,javax. swing. swing 在GUI 组件在AWT 的基础上增加了许多功能。
1.导入包
2.创建组件对象
3.初始化
import java.awt .*;//导入awt 包
import javax.swing. *;//导入swing 包
public class FrameDemo (){//继承方法
public FrameDemo (){
//设置标题,图标大小,位置,可见性,窗口的事件。
this. set title ("这是一个窗口");
this. set size (300.300);
this. setLocation (400.300);
this. set visible (true);
thus.setDefaultcloseoperation ( JFrame. EXIT _ON _CLOSE);
}
}
public void test (){
创建对象方法
JFarme. frame = new JFrame ();
Frame. set title (“300.300”);//这是一个窗口
Frame. set size (300.300);
Frame. set Location (400.300);
Frame. set visible ( true);
Frame. set Defaultdoseoperation ( JFrame.EXIT _ON _CLOSE);
}
设置布局
setLayout ( new FlowLayout ( FlowLayout.left));//左对齐
流式布局
private JButton bts []= new JButton [10];
private void init (){
for ( int i =0; i < bts.length ;++i{
bts [i]= new JButton (“按钮”+i);
}
}
public FrameDemo (){
init ();
this. add ( button);
for ( int i =0; i < bts. length;++i){
this. add ( bts [i]);
}
}
边界布局
// BorderLayout ;//生成默认的边界布局
//BorderLayout ( inthorz.int vert):可以设定组件间的水平和垂直距离
SetLayout (new BorderLayout ());
add ( bts [0]. BorderLayout.EAST);
add ( bts [1], BorderLayout. west);
add ( bts [2], BorderLayout. north);
add ( bts [3], BorderLayout. south);
add ( bts [4], BorderLayout. center);
//东西南北中
网格布局
SetLayout ( new GridLayout (4,4,5,5));
//空布局:添加组件的时候,组件没有大小,没有位置,创建组件时,给定大小和位置
setresiable (false);//设置窗口不可改变大小
//获取屏幕大小
gettookit (). getscreensize();
控件
标签
public class FrameDemo extends JFrame {
private void init (){
Label = new JLable ("姓名");
Label. set HorizontalAlignment ( LAbel. center);
Label. set Foreground (color.orange);
}
}
按钮
private JButton button;
private void init (){
button = new JButton ("按钮");//初始化
button. setenabled ( false);//按钮是否可点击
}//按钮Button
private JButton button;
private void init (){
button = new JButton (“按钮”);//初始化
button. setenabled ( false);//按钮是否可点击
}
文本域
private JScrollpane scrollpane;
private Jtextarea area ;
private void init (){//显示文本行数列数
area = new Jtextarea ("多行文本框",5,30);
this. SetLayout ( new FlowLayout ());
scrollpane = new Jscrollpane ( area);
}
多选按钮
private JcheckBox box1 ,box2;
private void init (){
box1 = new JcheckBox ("运动");
box2= new JcheckBox ("读书");
box1.is selected ();//判断是否被选中
}
按钮组
private ButtonGroup group;
private JradioButton r1, r2;
private void init (){
r1= new JradioButton (“男”);
r2 = new JradioButton (“女”);
group = new ButtonGroup ();
group.add (r1);
group.add ( r2);
this.add ( r1 );
this.add ( r2 );
}
列表框
private Jlist list;
list = new Jlist < string >( new string []{“A”,“B”,“C”,“D”,“E”});
list. setvisiblerowcount (3);//设置可见几项
下拉框
private JcomboBox < string > comboBox ;
private void init (){{
comboBox new JcomboBox <>( new string []{“A”,“B”,“C”,“D”,“E”});
comboBox. addItem (“FFF”);//添加项目
comboBox. getselecteditem ();//获取选项
this. add ( comboBox);
}
滚动条
private ProgressBar progressBar ;
private void init (){//滚动条:无参进度显示
progressBar = new JprogressBar (JprogressBar)
}
progressBar. setstringpainted ( true);
//设置显示提示
progressBar. setvalue (66);//设置进度
this. add ( progressBar);
菜单
private JMenuBar JMenuBar ;
private JMenu menu1,menu2;
private JMenuitem item1,item2,item3, item4 ;
private void init () {
menuBar = new JMenuBar ();
menu1 = new JMenu (“文件”);
menu2 = new JMenu (“编辑”);
item 1= new JMenuitem (“新建”);
item 2= new JMenuitem (“关闭”);
item 3= new JMenuitem (“复制”);
item 4= new JMenuitem (“粘贴”);
menu1 . add ( item 1);
menu2.add ( item 2);
menu3 . add ( item 3);
menu4.add ( item 4);
menuBar. add ( menu1);
menuBar. add ( menu 2);
this. setJmenuBar ( menuBar);
menu. add separator ();//添加分隔符
}
上一篇: JAVA 攻城狮 第十七天