JAVA---用户界面技术
用户界面对象:
Button(按钮)、Checkbox(复选框)、Choice(组合框)、Label(标签)、List(列表)、Scrollbar(滚动条)、TextArea(文本区域)、TextField(文本框)和Panel(面板)。
按钮:
public Button();构建一个没有标签的按钮。
public Button(String label);构建一个显示为label的按钮。
public void setLabel(String label);构建一个标签为字符串label。
public String getLabel();获取按钮的标签,返回为字符串。
eg:
import java.awt.*;
import java.applet.*;
import java.applet.Applet;
public class UseButton extends Applet{
String str1=new String();
//声明按钮对象
Button b1;
Button b2;
}
public void init(){
//构造对象
b1=new Button();
b2=new Button();
//添加到界面
this.add(b1);
this.add(b2);
}
public void start(){
b1.setLabel("按钮对象1");
str1=b2.getLabel();
repaint();
}
public void paint(Graphics g){
g.drawString(str1,20,30);
}
}
复选框和单选按钮:
public Checkbox();创建一个没有标签的复选框。
public Checkbox(String label);创建一个标签为label的复选框。
public Checkbox(String label,boolean state);创建一个标签为label的复选框,并设置初始状态。
public CheckboxGroup();创建一个复选框组,用来放置单选按钮。
public Checkbox(String label,CheckboxGroup,boolean state);创建一个标签为label的复选框,添加到group组中,并设置初始状态,作为单选按钮形式出现。
public String getLabel();获得复选框的标签。
public void setLabel(String label);设置标签。
public boolean getstate();返回复选框所在的状态,是选中还是未选中。
public void setState(boolean state);设置状态,用来初始化复选框的状态。
eg:
import java.awt.*;
import java.applet.*;
import java.applet.Applet;
public class Checkbox extends Applet{
String str1=new String();
boolean b1=false;
boolean b2=false;
Checkbox c1,c2,c3;
Checkbox cRadio1,cRadio2;
CheckboxGroup c;
public void init(){
c1=new Checkbox();
c2=new Checkbox("复选框对象2");
c3=new Checkbox("复选框对象3",true);
//构造单选按钮
c=new CheckboxGroup();
cRadio1=new Checkbox("单选按钮1",c,false);
cRadio2=new Checkbox("单选按钮2",c,true);
//添加到界面
this.add(c1);
this.add(c2);
this.add(c3);
this.add(cRadio1);
this.add(cRadio2);
}
public void start(){
c1.setLabel("复选框对象1");
str1=c2.getLabel();
b1=c3.getState();
b2=cRadio1.getState();
repaint();
}
public void paint(Graphics g){
g.drawString("获取第二个对象的标签:"+str1,40,80);
g.drawString("复选框3的状态为:"+b1,40,100);
g.drawString("单选按钮1的状态为:"+b2,40,120);
}
}
组合框:
public Choice();构建一个选择项菜单。
public void add(String item);将item添加到选择菜单中。
public String getItem(int index);返回选择菜单中index位置的项,注意索引是从0开始的,而项数从1开始。
public int getItemCount();返回选择菜单总的项数。
public String getSelectedItem();返回当前选中的项。
public int getSelectedIndex();返回当前选中的索引。
public void insert(String item,int index);在index处插入字符串item。
puiblic void remove(int position);删除position位置的项。
public void remove(String item);删除item项。
public void remove All();删除所有项。
public void select(int pos);将pos处的项设定为选中状态,并初始化。
public void select(String str);将str项设定为选中状态,并初始化。
eg:
import java.awt.*;
import java.applet.*;
import java.applet.Applet;
public class UseChoice extends Applet{
String str1=new String();
String str2=new String();
int count=0;
int i1=0;
boolean b1=false;
Choice c1;//声明组合框对象
public void init(){
//初始化组合框对象
c1=new Choice();
c1.add("语文");
c1.add("数学");
c1.add("物理");
c1.add("化学");
c1.add("生物");
c1.select(3);
this.add(c1);
}
public void start(){
count=c1.getItemCount();
str1=c1.getItem(2);
str2=c1.getSelectedItem();
i1=c1.getSelectedIndex();
repaint();
}
public void paint(Graphics g){
g.drawString("元素的总数:"+count,10.80);
g.drawString("第2项元素为:"+str1,10,100);
g.drawString("选中的元素为:"+str2,10,120);
g.drawString("选中项的位置为:"+i1,10,140);
}
}
标签:
public Label();建立一个空标签
public Label(String text);建立一个text内容的标签,默认为左对齐
public Label(String text,int alignment);
alignment可选值 | 对应数值 | 对齐方式 |
Label.LEFT | 0 | 左对齐 |
Label.RIGHT | 2 | 右对齐 |
Label.CENTER | 1 | 居中显示 |
public String getText();获得标签文本
public void setText(String text);设置标签文本
public int getAlignment();获取标签文本的对齐方式,为int型数值
eg:
import java.awt.*;
import java.applet.*;
import java.applet.Applet;
public class UseLabel extends Applet{
String str1=new String();
int i1=0;
Label l1,l2,l3;
public void init(){
l1=new Label();
l2=new Label("标签对象2");
l3=new Label("标签对象3",Label.CENTER);
this.add(l1);
this.add(l2);
this.add(l3);
}
public void start(){
l1.setText("标签对象1");
str1=l2.getText();
i1=l3.getAlignment();
repaint();
}
public void paint(Graphics g){
g.drawStrring("第二个标签的文本是:"+str1,40,60);
g.drawString("第三个标签的对齐方式是:"+i1,40,80);
}
}
列表:
public List();构建一个新的空滚动列表
public List(int rows); 构建一个新的rows可见行的滚动列表
public List(int rows,boolean multipleMode); 构建一个新的rows可见行的滚动表,并设置是否能多项选择。multipleMode为true时,允许用户多项选择。
public void add(String item);在滚动条列表最后添加一项item。
public void add(String item,int index);在index位置添加item项。
public String getItem(int index); 返回index位置的项。
public int getItemCount();返回列表中项的数目。
public String[] getItems();返回列表中的项,为一个字符串数组。
public int getSelectedIndex();返回列表中选中的索引。
public String getSelectedItem();返回列表中选中的项。
public boolean isIndexSelected(int Index);判断index项是否选中。
public void remove(int position);删除position位置项。
public void remove(String Item);删除Item项。
public void remove All();删除列表中所有元素。
public void replaceItem(String new Value,int index);将index位置的项替换为new Value。
public void select(int index);选中index位置的项,通常用于初始化。
eg:
import java.awt.*;
import java.applet.*;
import java.applet.Applet;
public class UseList extends Applet{
String str1=new String();
String str2=new String():
int i1=0,i2=0;
List l1,l2,l3;
public void init(){
l1=new List();
l2=new List(5);
l3=new List(5,true);
l1.add("苹果");
l1.add("香蕉");
l1.add("梨");
l2.add("语文");
l2.add("数学");
l2.add("英语");
l2.add("化学");
l3.add("铅笔");
l3.add("钢笔");
l1.select(1);
l3.select(1);
this.add(l2);
this.add(l3);
}
public void start(){
str1=l1.getItem(2);
i1=l1.getItemCount();
l2.replaceItem("英语",2);
str2=l3.getSelectedItem();
repaint();
}
public void paint(Graphics g){
g.drawString("第一个对象索引为2的元素是:"+str1,40,100);
g.drawString("第一个对象的元素个数是:"+i1,40,120);
g.drawString("第3个对象选中的元素是:"+str2,40,140);
}
}
滚动条:
Scrollbar给用户提供了一个组件,方便用户在一系列范围的值中进行选择。
属性 | 描述 | 缺省值 |
Orientation(方向) | 水平还是垂直 | Scrollbar.VERTICAL(1) |
Minimum | 滚动条的最小值 | 0 |
Maxmum | 滚动条的最大值 | 100 |
Value | 滚动条的数值 | 0 |
Unit increment(单位移动) | 单击滚动条两端箭头时移动的单位 | 1 |
Block increment(块移动) | 单击滚动条空白处时移动的单位 | 10 |
public Srollbar();构建一个新的垂直滚动条
public Scrollbar(int orientation);构建一个指定方向的滚动条,Orientation的值:HORIZONTAL(0)表示水平滚动条,值为VERTICAL(1)表示垂直滚动条
public Scrollbar(int orientation,int value,int visible,int minmum,int maxmum);构建一个指定方向,初始化值,可见性,最小值和最大值的滚动条。
public int getValue();返回滚动条的当前值。
public int getMinmum()/getMaxmum();返回最小值、最大值
eg:
import java.awt.*;
import java.applet.*;
import java.applet.Applet;
public UseScrollbar extends Applet{
int i1=0,i2=0,i3=0,i4=0,i5=0;
Scrollbar s1,s2,s3;
public void init(){
s1=new Scrollbar();
s2=new Scrollbar(Scrollbar.HORIZONTAL);
s3=new Scrollbar(Scrollbar.VERTICAL,50,0,10,500);
this.add(s1);
this.add(s2);
this.add(s3);
}
public void start(){
i1=s1.getOrientation();
i2=s2.getOrientation();
i3=s3.geiOrientation();
i4=s3.getMinimum();
i5=s3.getMaximum();
repaint();
}
public void paint(Graphics g){
g.drawString("第一个对象的方向:"+i1,40,100);
g.drawString("第二个对象的方向:"+i2,40,120);
g.drawString("第三个对象的方向:"+i3,40,140);
g.drawString("第三个对象的最小值:"+i4,40,160);
g.drawString("第三个对象的最大值:"+i5,40,180);
}
}