if(i==1) {
}
if(i==2) {
g.setColor(Color.blue);
b1.setLabel(\已按过\ g.setColor(Color.red); b2.setLabel(\已按过\
g.drawOval(100,100,60,40); b1.setForeground(Color.gray); g.drawOval(100,100,100,100); b2.setForeground(Color.gray);
} } public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1) {
i=1; }
if(e.getSource()==b2) { i=2; } repaint(); } }
2. 编写Applet, 其中包含两个按钮,它们的标签分别为“画正方形”和“画圆”,点击按钮“画正方形”时,通过paint()方法以坐标(10,10)为左上角画一个边长为60的兰色正方形框;点击按钮“画圆”时,画一个半径为50的红色填充圆,该圆内切于左上角坐标为(100,100)的正方形。如果那个按钮被点击,就使该按钮变得不可见。 @程序
import java.awt.*;
import java .awt .event .*;
import java.applet.*;
public class Applet1 extends Applet implements ActionListener {
int i;
Button btn1, btn2;
public void init() { btn1=new Button(\画正方形\
add(btn1); add(btn2); btn1.addActionListener(this);
btn2=new Button(\画圆\
btn2.addActionListener(this);
}
public void paint(Graphics g) { if(i==1) { g.setColor(Color. blue);
btn1.setVisible(false);
g.drawRect(10,10,60,60);
}
if(i==2) { g.setColor(Color. red); btn2.setVisible(false); }
}
public void actionPerformed(ActionEvent e) { }
if(e.getSource()==btn1) { if(e.getSource()==btn2) { repaint();
i=1; } i=2; }
g.fillOval(100,100,100,100);
}
3. 编写Applet, 其中包含两个按钮:按钮上的标签分别为“确定”和“取消”。当点击“确定” 按
钮时,通过paint()方法在坐标(20,80)处,用绿色显示点击“确定”按钮的次数;当点击“取消” 按钮时,通过paint()方法在坐标(20,100)处,用红色显示点击“取消”按钮的次数(要求“确定”和“取消”的次数同时显示在Applet中)。 @程序
import java.awt.*;
import java .awt .event .*; import java.applet.*;
public class Applet1 extends Applet implements ActionListener {
int j=0,k=0;
Button btn1, btn2;
public void init() { btn1=new Button(\确定\ }
add(btn1);
btn2=new Button(\取消\
add(btn2);
btn2.addActionListener(this);
btn1.addActionListener(this);
public void paint(Graphics g) { }
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btn1) j++; if(e.getSource()==btn2) k++; repaint( );
g.setColor(Color.green);
g.drawString(\你点击了\\\确定\\\按钮 \次\g.setColor(Color.red);
g.drawString(\你点击了\\\取消\\\按钮 \次\
} }
4. 编写Applet, 其中包含两个按钮,初始时两个按钮的前景均为绿色。当点击一个按钮时,通过paint( )方法在坐标(10,50)处显示一幅图象,图象名称为a.gif,显示的高、宽分别为50、50;图象与嵌入该小应用程序的网页在同一目录(程序中用到的图片由学生在计算机中找)。当点击另一个按钮时,在窗口的状态栏中输出字符串“好漂亮!”。同时要求当反复点击按钮时,就令被点击按钮的前景变为红色,而使另一个按钮的前景恢复为绿色。 @程序
import java.awt.*;
import java .awt .event .*; import java.applet.*;
public class Applet1 extends Applet implements ActionListener {
int i; Image pic; Button btn1,btn2; public void init() {
btn1=new Button(\btn2=new Button(\
}
add(btn1); btn1.setForeground(Color.green);
add(btn2); btn2.setForeground(Color.green); btn1.addActionListener(this); btn2.addActionListener(this); pic=getImage(getDocumentBase(),\
public void paint(Graphics g) { if(i==1) g.drawImage(pic,10,50,50,50,this); if(i==2) showStatus(\好漂亮!\}
public void actionPerformed(ActionEvent e) { if(e.getSource()==btn1) { i=1; btn1.setForeground(Color.red); btn2.setForeground(Color.green); } }
if(e.getSource()==btn2)
{ i=2; btn2.setForeground(Color.red); repaint();
btn1.setForeground(Color.green); }
}
5. 编写Applet, 显示一幅后缀名为jpg的图片,图片显示的左上角坐标为(20,40),宽、高为80、80像素(图片在计算机中查找)。小程序中还包含两个按钮,按钮名称分别为\放大图片\和\缩小图片\。每次按下\放大图片\按钮时,把图片显示的宽、高分别增加10像素;每次按下\缩小图片\按钮时,把图片显示的宽、高分别减小10像素。 @程序
import java.awt.*;
import java .awt .event .*; import java.applet.*;
public class Applet1 extends Applet implements ActionListener { }
Image pic; Button btn1,btn2; int w=80,h=80; public void init() { }
pic=getImage(getDocumentBase(),\btn1=new Button(\放大图片\ btn2=new Button(\缩小图片\add(btn1); add(btn2); btn1.addActionListener(this);
btn2.addActionListener(this);
public void paint(Graphics g) { g.drawImage(pic,20,40,w,h,this); } public void actionPerformed(ActionEvent e) { }
if(e.getSource()==btn1) { if(e.getSource()==btn2) { repaint();
w+=10; w-=10;
h+=10; h-=10;
} }
6. 请编写一个Applet,其功能为:在其窗口中摆放三个单选按钮,令它们的标签分别为“选项1”、“选项2”、“选项3”, 初始时,所有按钮均可见;以后,如果某个单选按钮被选中了,就显示它被选中的信息(如,若点击了第二个单选按钮,则显示“你选择了‖选项2‖”), 并使该单选按钮自身不可见,而使其它单选按钮变为可见的。 @程序
import java.awt.*;
import java .awt .event .*; import java.applet.*;
public class Applet1 extends Applet implements ItemListener {
CheckboxGroup optGroup; Checkbox opt1,opt2,opt3; String s=\boolean b=false; public void init() {
optGroup=new CheckboxGroup( );
opt1=new Checkbox(\选项1\
add(opt1); opt1.addItemListener(this); opt2=new Checkbox(\选项2\ add(opt2); opt2.addItemListener(this); opt3=new Checkbox(\选项3\
add(opt3);
opt3.addItemListener(this);
}
public void paint(Graphics g)
{ if(b) g.drawString(\你选择了\ public void itemStateChanged(ItemEvent e) {
b=true;
if(e.getSource()==opt1)
}
}
{ opt1.setVisible(false); opt2.setVisible(true); opt3.setVisible(true); s=opt1.getLabel( ); if(e.getSource()==opt2)
{ opt1.setVisible(true); opt2.setVisible(false);
opt3.setVisible(true); s=opt2.getLabel( ); if(e.getSource()==opt3)
{ opt1.setVisible(true); opt2.setVisible(true); opt3.setVisible(false); s=opt3.getLabel( ); repaint( );
}
}
} }
7. 请编写一个Applet,在其窗口中摆放两复选按钮框,显示它们被选中(那个被选中、或两个均被选中、或两个均未选中)的信息。 @程序
import java.awt.*;
import java .awt .event .*; import java.applet.*;
public class Applet1 extends Applet implements ItemListener
{
private TextField t;
private Checkbox opt1,opt2; public void init() {
t=new TextField(\ \ add(t); opt1=new Checkbox(\选项1\ add(opt1); opt1.addItemListener(this); opt2=new Checkbox(\选项2\ add(opt2); opt2.addItemListener(this); } }
8. 使用List列表组件,选择画何种几何图形(黄色矩形、绿色圆、红色椭圆、白色扇形、兰色直线之一),并通知程序实现之。 @程序
import java.applet.Applet; import java.awt.*;
import java.awt.event.*;
public class Applet1 extends Applet implements ActionListener , ItemListener {
List myList;
String itemNames[] =
{ \黄色矩形\红色圆\绿色椭圆\白色扇形\兰色直线\ //项目名称 Color colors[] =
{ Color.yellow , Color.red, Color.green, Color.white, Color.blue }; //颜色对象数组 int j;
boolean b=false; public void init()
{
myList = new List( 6, false );
for ( int i = 0; i < itemNames.length; i++ ) myList.add( itemNames[ i ] ); add( myList );
myList.addActionListener( this ); myList.addItemListener( this ); }
public void actionPerformed( ActionEvent e ) { } public void itemStateChanged( ItemEvent e ) { b=true;
showStatus( myList.getSelectedItem() + \ myList.getSelectedIndex() );
public void itemStateChanged(ItemEvent e) { }
String s=\
if(opt1.getState( )) s=\选择了选项1\ if(opt2.getState( )) s=s+\选择了选项2\ t.setText(s);