首页 > 程序开发 > 综合编程 > 其他综合 >

AWT基本组件分析(1)

2016-04-06

Label标签 import java awt *; public class Label01{ public static void main(String[] args){ Frame f=new Frame( "Label标签演示 "); f setLayout(new GridLayout(4,1,10,10));

Label标签

import java.awt.*;

public class Label01{

public static void main(String[] args){
Frame f=new Frame("Label标签演示");
f.setLayout(new GridLayout(4,1,10,10));
TextArea text=new TextArea(10,5);
Label l1,l2,l3;
//Label();造一个空标签。
//Label(String text);构使用指定的文本字符串构造一个新的标签,其文本对齐方式为左对齐。
//Label(String text, int alignment); 构造一个显示指定的文本字符串的新标签,其文本对齐方式为指定的方式。
//alignment有Label.CENTER居中Label.LEFT左Label.RIGHT右
l1=new Label("This is Label01",Label.LEFT);
l2=new Label();
//设置标签对齐的方式
l2.setAlignment(Label.CENTER);
//为标签设置文本内容
l2.setText("his is Label02");
l3=new Label("This is Label03",Label.RIGHT);
text.append("获取l2标签的当前对齐方式:"+l2.getAlignment()+
"\n获取l2的文本:"+l2.getText()+
"\n获取l3标签的当前对齐方式:"+l3.getAlignment()+
"\n获取l3的文本:"+l3.getText()+
"\n获取与此标签相关的 AccessibleContext"+l3.getAccessibleContext());
f.add(l1);
f.add(l2);
f.add(l3);
f.add(text);
f.setSize(500, 400);
f.setVisible(true);
}
}

\

Button按钮

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Button01 extends WindowAdapter implements ActionListener{

Frame f;
Button b;
TextField tf;
int flag=0;
TextArea text=new TextArea();

public Button01(){
f=new Frame("按钮窗口演示");
f.setLayout(new GridLayout(3,1,5,5));
tf=new TextField();
f.add(tf);
b=new Button("请按这里0.0");
b.addActionListener(this);
f.add(b);
text=new TextArea(10,10);
f.add(text);
text.append("按钮标签名:"+b.getLabel()+"\n返回此按钮激发的动作事件的命令名称:"+b.getActionCommand()+
"\n获取与此 Button 相关的 AccessibleContext:"+b.getAccessibleContext());
f.addWindowListener(this);
f.setSize(400, 300);
f.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Button01();
}

public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String s1="您按下了奇数次";
String s2="您按下了偶数次";
if(flag==0){
tf.setText(s1);
flag=1;
}
else{
tf.setText(s2);
flag=0;
}

}
public void windowClosing(WindowEvent e){
System.exit(0);
}

}

\

CheckBox复选框

import java.applet.Applet;
import java.awt.*;

public class CheckBox01 extends Applet{

String city[]={"北京","上海","香港","澳门","深圳","广州","珠海","杭州","佛山","东莞"};
Checkbox cd[]=new Checkbox[10];
Label l=new Label("复选框实例");
public void init(){
add(l);
add(new Label("请选择你喜欢的城市:"));
for(int i=0;i cd[i]=new Checkbox(city[i]);
add(cd[i]);
}
}
}

\\

单选按钮-----复选框组

创建单选框的方法是:public Checkbox(String s,CheckboxGroup c,boolean state)

1.创建一个CheckboxGroup 对象

2.创建检查按钮框,添加到框组对象中

import java.applet.Applet;
import java.awt.*;

public class CheckBox01 extends Applet{

String city[]={"北京","上海","香港","澳门","深圳","广州","珠海","杭州","佛山","东莞"};
Checkbox cd[]=new Checkbox[10];
Label l=new Label("单选框实例");
CheckboxGroup cbg=new CheckboxGroup();
public void init(){
add(l);
add(new Label("请选择你喜欢最的城市:"));
for(int i=0;i cd[i]=new Checkbox(city[i],cbg,false);
add(cd[i]);
}
}
}

\

Choice 选项框

import java.applet.Applet;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class Choice01 extends Applet implements ItemListener{

String city[]={"北京","上海","香港","澳门","深圳","广州","珠海","杭州","佛山","东莞"};
TextArea tf=new TextArea(10,100);
Choice c=new Choice();
Label l=new Label("选项框实例");
CheckboxGroup cbg=new CheckboxGroup();
public void init(){
add(l);
for(int i=0;i c.add(city[i]);
}
add(c);
c.addItemListener(this);
add(tf);
}
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
tf.setText("获取此 Choice 菜单中指定索引上的字符串:"+e.getItem()
+"\n获取当前选择的字符串表示形式:"+e.getItemSelectable());
}

}

\

Canvas 画布

表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。

import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Canvas01 implements KeyListener,MouseListener{

Canvas c;
String s="";
TextField tf;

public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
tf.setText("单击鼠标键");
c.requestFocus();
}

public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
tf.setText("按下鼠标键");
c.requestFocus();
}

public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
tf.setText("释放鼠标键");
c.requestFocus();
}

public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
tf.setText("鼠标进入了画布");
c.requestFocus();
}

public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
tf.setText("鼠标离开了画布");
c.requestFocus();
}

public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
tf.setText("按下鼠标键");
s+=e.getKeyChar();
c.getGraphics().drawString(s, 0, 20);
}

public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
tf.setText("按下鼠标键");
s+=e.getKeyChar();
c.getGraphics().drawString(s, 0, 20);
}

public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
tf.setText("松开鼠标键");
s+=e.getKeyChar();
c.getGraphics().drawString(s, 0, 20);
}
public void paint(Graphics g){

}

public static void main(String[] args) {
// TODO Auto-generated method stub
Frame f=new Frame("Canvas画布演示");
Canvas01 canvas=new Canvas01();
canvas.c=new Canvas();
canvas.tf=new TextField();
f.add("South",canvas.tf);
f.add("Center",canvas.c);
f.setSize(400, 300);
canvas.c.addMouseListener(canvas);
canvas.c.addKeyListener(canvas);
f.setVisible(true);
}

}

\

TextField 文本区域

文本框,就是单行文字输入框,只有一行,不能多行,但一行的长度可以设置。

TextField()
构造新文本字段。
TextField(intcolumns)
构造具有指定列数的新空文本字段。
TextField(Stringtext)
构造使用指定文本初始化的新文本字段。
TextField(Stringtext, intcolumns)
构造使用要显示的指定文本初始化的新文本字段,宽度足够容纳指定列数。

import java.applet.Applet;
import java.awt.*;

public class TextField01 extends Applet{

public void init(){
//构造使用要显示的指定文本初始化的新文本字段,宽度足够容纳指定列数。
TextField tf=new TextField("显示密码",20);
TextArea text=new TextArea(10,50);
add(new Label("用户名"));
add(new TextField("请输入用户名",20));
add(new Label("密 码"));
add(tf);
//setEchoChar(char c)设置此文本字段的回显字符。
tf.setEchoChar('*');

add(new Label("工 作"));
// 构造具有指定列数的新空文本字段。
add(new TextField(20));
add(new Label("工 资"));
//构造使用指定文本初始化的新文本字段。
add(new TextField("3000"));
add(new Label("年 龄"));
// 构造新文本字段
add(new TextField());

text.append("tf文本字段是否有一个回显字符集 "+tf.echoCharIsSet()
+"\n获取与此 TextField 关联的 AccessibleContext "+tf.getAccessibleContext()
+"\n tf获取此文本字段中的列数 "+tf.getColumns()
+"\n tf获取用于回显的字符 "+tf.getEchoChar()
+"\n获取此文本字段的最小尺寸 "+tf.getMaximumSize()
+"\n 获取此文本字段的首选大小 "+tf.getPreferredSize());
add(text);
}
}

\

TextArea 文本区域

是矩形区域,可以包括一行或者多行内容。其监听器TextListener,注册监听器方法addTextListener,要实现的抽象方法是textValueChanged(TextEvent e)。

TextArea()
构造一个将空字符串作为文本的新文本区。
TextArea(introws, intcolumns)
构造一个新文本区,该文本区具有指定的行数和列数,并将空字符串作为文本。
TextArea(Stringtext)
构造具有指定文本的新文本区。
TextArea(Stringtext, introws, intcolumns)
构造一个新文本区,该文本区具有指定的文本,以及指定的行数和列数。
TextArea(Stringtext, introws, intcolumns, intscrollbars)
构造一个新文本区,该文本区具有指定的文本,以及指定的行数、列数和滚动条可见性。

scrolbars滚动条,常量有:

SCROLLBARS_BOTH ---- 创建并显示垂直和水平滚动条

SCROLLBARS_HORIZONTAL_ONLY -------- 只创建并显示水平滚动条

SCROLLBARS_VERTICAL_ONLY -------- 只创建并显示垂直滚动条

SCROLLBARS_NONE -------- 不显示滚动条

import java.applet.Applet;
import java.awt.*;

public class TextArea01 extends Applet{
public void init(){
TextArea t1=new TextArea();
TextArea t2=new TextArea(3,20);
TextArea t3=new TextArea("构造具有指定文本的新文本区");
TextArea t4=new TextArea("构造具有指定的文本,以及指定的行数和列数",3,20);
TextArea t5=new TextArea(" 构造具有指定的文本,以及指定的行数、列数和滚动条可见性",4,30,TextArea.SCROLLBARS_BOTH);
t1.setEditable(false);
add(t1);
add(t2);
add(t3);
add(t4);
add(t5);
}
}
\

其他方法看帮助文档

相关文章
最新文章
热点推荐