问答题本程序中,主窗口有一个“打开对话框”按钮和一个文本域,单击“打开对话框”按钮后会弹出一个对话框,对话框上有两个按钮“Yes”和“No”,单击对话框上的“Yes”或“No”按钮后返回主窗口,并在右侧文本域中显示刚才所单击的按钮信息,如图所示。importjava.awt.event.*;importjava.awt.*;classMyDialog______implementsActionListener{staticfinalintYES=1,NO=0;intmessage=-1;Buttonyes,no;MyDialog(Framef,Strings,booleanb){super(f,s,b);yes=newButton("Yes");yes.addActionListener(this);no=newButton("No");no.addActionListener(this);setLayout(newFlowLayout());add(yes);add(no);setBounds(60,60,100,100);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){message=-1;setVisible(false);}});}DublicvoidactionPerformed(ActionEvente){if(e.getSource()==yes){message=YES;setVisible(false);}elseif(e.getSource()==no){message=NO;setVisible(false);}}publicintgetMessage(){returnmessage;}classDwindowextendsFrameimplementsActionListener{TextAreatext;Buttonbutton;MyDialogdialog;Dwindow(Strings){super(s);text=newTextArea(5,22);button=newButton("打开对话框");button,addActionListener(this);setLayout(newFlowLayout());add(button);add(text);dialog=newMyDialog(this,"Dialog",true);setBounds(60,60,300,300);setVisible(true);validate();addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}publicvoidactionPerformed(ActionEvente){if(e.getSource()==button){______;if(dialog.getMessage()==MyDialog.YES){text.append("/n你单击了对话框的yes按钮");}elseif(dialog.getMessage()==MyDialog.NO){text.append("/n你单击了对话框的No按钮");}}}}publicclassexam_87{publicstaticvoidmain(Stringargs[]){newDwindow("exam_87");}}
问答题本题的功能是用按钮来控制文本框中文本的颜色。窗口中有两个带有文字标题的面板“Sample text”和“Text color control”,窗口的底部还有一个复选按钮“Disable changes”。在“Sample text”面板中有一个带有字符串的文本框,而在“Text color control”面板中有三个按钮“Black”、“Red”和“Green”,并且每个按钮上都有一个对应颜色的圆。单击任意按钮,文本框的文本变成对应的颜色,如果选中“Disable changes”复选框,则三个颜色按钮变为不可用,如果取消选中复选框,则三个按钮变为可用。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class java3 extends JFrame private JPanel upper,middle,lower; private JTextField text; private JButton black,red,green; private JCheckBox disable; public java3(String titleText) super(titleText); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); upper=new JPanel(); upper.setBorder(BorderFactory.createTitledBorder("Sample text")); Upper.setlayout(new BorderLayout()); text=new JTextField("Change the color of this text"); upper.add(text,BorderLayout,CENTER); middle=new JPanel(); middle.setBorder(BorderFactory.createTitledBorder("Text color control")); middle.setLayout(new FlowLayout(FlowLayout.CENTER)); black=new JButton("Black",new Colorlcon(Color.black)); black.addActionListener(new ButtonListener(Color.black)); middle.add(black); red=new JButton("Red",new Colorleon(Color.red)); red.addActionListener(new ButtonListener(Color.red)); middle.add(red); green=new JButton("Green",new Colorlcon(Color.green)); green.addActionListener(new ButtonListener(Color.green)); middle.add(green); lower=new JPanel(); lower.setLayout(new FlowLayout(FlowLayout.RIGHT)); disable=new JCheckBox("Disable changes"); disable.addhemListener(new ItemListener() public void itemStateChanged(ItemEvent e) boolean enabled =(e.getStateChange() ==ItemEvent.DESELECTED); black.setEnabled(enabled); red.setEnabled(enabled); green.setEnabled(enabled); ); lower.add(disable); Container cp=getContentPane(); cp.add(upper,BorderLayout.NORTH); cp.add(middle,BorderLayout.CENTER); cp.add(lower,BorderLayout.SOUTH); pack(); setVisible(true); class ButtonListener extends ActionListener private Color c; public ButtonListener(Color c) this.c=c; public void actionPerformed(ActionEvent e) text.setForeground(c); class Colorlcon implements Icon private Color c; private static final int DIAMETER=10; public ColorIcon(Color c) c=c; public void paintIcon(Component cp,Graphics g, int x,int y) g.setColor(c); g.fillOval(x,y,DIAMETER,DIAMETER); g.setColor(Color.black); g.drawOval(x,y,DIAMETER,DIAMETER); public int getIconHeight() return DIAMETER; public int getIconWidth() return DIAMETER; public static void main(String[]args) new java3("java3");
问答题item1.setEnabled(true);
问答题下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较”按钮后,将Applet中的显示的“请先输入两个待比较的整数”,改为“两个整数中最大值:x”,x是两个数中的最大值。请改正程序中的错误(有下划线的语句)并将程序填写完整,使程序能输出正确的结果。
注意:不改动程序结构,不得增行或删行。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class FindMax extends Applet______
{
Label result;
TextField in1,in2;
Button btn;
int a=0,b=0,max;
public void int()
{
result=new Label(“请先输入两个待比较的整数”);
in1=new TextField(5);
in2=new TextField(5);
btn=new Button("比较");
add(in1);
add(in2);
add(btn);
add(result);
btn.addActionListener(this);
}
Public void actionPerformed(ActionEvent e)
{
{{U}}a=in1;{{/U}}
{{U}}b=in2;{{/U}}
if(a>b)
max=a;
else
max=b;
{{U}}btn{{/U}}.setText(“两个数中最大值:”+max);
}
}
Findmax.html:
<HTML>
<HEAD>
<TITLE>A Simple Program</TITLE>
</HEAD>
<BODY>
<applet code="FindMax.class"width=800 height=400>
</applet>
</BODY>
</HTML>
问答题下面是一个Applet程序,其功能是在窗口中绘制3个半径递增的圆,并用RGB三原色对这 3个圆填充。要求建立一个绘制圆的类,实现根据指定颜色进行填充的功能,在主程序中通过调用这个类的方法实现圆的绘制。请改正程序中的错误(有下画线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
import java.applet.*;
import java.awt.*;
import java.awt.*;
/*
<applet code="ex15_3.class"width=800 height=400>
</applet>
*/
class CanvasCircle extends Canvas{
private Color cCircle;
public CanvasCircle(Color c){
cCircle=c;
}
public void paint(Graphics g){
int dimCircle,xCircle,yCircle;
Dimension sizeCurrent=getSize();
if({{U}}sizeCurrent.width>sizeCurrent.height){{{/U}}
dimCircle=sizeCurrent.width;
}
else{
dimCircle=sizeCurrent.height;
}
g.setColor(cCircle);
{{U}}xCircle=(sizeCurrent.heighe-dimCircle)/2;{{/U}}
{{U}}yCircle=(sizeCurrent.width-dimCircle)/2;{{/U}}
g.fillOval(xCircle,yCircle,dimCircle,dimCircle);
}
}
public class exl5_3 extends Applet{
public void init(){
GridBagLayout gbl=new GddBagLayout();
GridBagConstraints gbc=new CridBagConstraints();
CanvasCircle circleNew;
setLayout(gbl);
gbc.weightx=1.0;
gbc.weighty=1.0;
gbc.fill=GridBagConstraints.BOTH;
circleNew=new CanvasCircle(Color.red);
gbl.setConstraints(circleNew,gbc);
add(circleNeW);
gbc.weightx=1.5;
gbc.weighty=1.5;
circleNew=new CanvasCircle(Color.green);
gbl.sctConstraints(eircleNew,gbc);
add(circleNew);
gbc.weightx=2.0;
gbc.weighty=2.0;
circleNew=new CanvasCircle(Color.blue);
gbl.setConstraints(circleNew,gbc);
add(circleNew);
}
}
ex15_3.html
<HTML>
<HEAD>
<TITLE>ex15_3</TITLE>
</HEAD>
<BODY>
<applet code="ex15_3.class"width=800 height=400>
</applet>
</BODY>
</HTMI>
问答题下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。注意:不改动程序的结构,不得增行或删行。程序的执行结果为: importjava.awt.*;importjava.applet.*;/*<appletcode=XiaoQiuwidth=800height=600></applet>*/publicclassXiaoQiuextendsAppletimplementsRunnable{intcurrentX=0,currentY=0;Threadm_Draw=null;publicvoidinit(){{{U}}m_Draw=newThread(super);{{/U}}}publicvoidpaint(Graphicsg){g.setColor(Color.blue);mycircle(g,getSize().width/2,getSize().height/2,currentX,currentY);}publicvoidstart(){m_Draw.start();try{Thread.sleep(500);}catch(InterruptedExceptione){}}publicvoidstop(){if(m_Draw.isAlive())m_Draw.stop();}publicvoidrun(){try{while(true){currentX++;currentY++;{{U}}if(currentX>i00currentY=0;}{{U}}paint();{{/U}}Thread.sleep(100);}}catch(InterruptedExceptione){}}publicvoidmycircle(Graphicsg,intx,inty,intrx,intry){g.filloval(x-rx,y-ry,2*rx,2*ry);}}{{B}}ex39_3.html:{{/B}}<html><head><title>ASimpleProgram</title></head><body><appletcede="XiaoQiu.class"width=800height=400></applet></body></html>
问答题本程序的功能是获取鼠标在窗口中的位置。当鼠标移进窗口,就会实时显示鼠标在窗口中的相对位置,例如显示为“鼠标的当前位置:X:Y”(X为鼠标相对于窗口左上角的横坐标,Y为鼠标相对于窗口左上角的纵坐标),如图所示。importjava.awt.*;importjava.awt.event.*;importjava.util.*;importjavax.swing.*;publicclassexam_40{publicstaticvoidmain(String[]args){MouseFrameframe=newMouseFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classMouseFrameextendsJFrame{publicMouseFrame(){setTitle("exam_40");setSize(WIDTH,HEIGHT);MousePanelpanel=newMousePanel();ContainercontentPane=getContentPane();contentPane.add(panel);}publicstaticfinalintWIDTH=300;publicstaticfinalintHEIGHT=200;}classMousePanelextendsJPanel{publicMousePanel(){addMouseListener(newMouseHandler());addMouseMotionListener(newMouseMotionHandler());}publicvoidpaintComponent(Graphicsg){super.paintComponent(g);Stringtext="鼠标指针位置:"+mousex+":"+mousey;g.drawString(text,10,10);}privateintmousex,mousey;privateclassMouseMotionHandler______{publicvoidmouseMoved(MouseEventevent){mousex=event.getX();mousey=event.getY();repaint();}publicvoidmouseDragged(MouseEventevent){mousex=event.getX();mousey=event.getY();repaint();}}privateclassMouseHandler______{publicvoidmousePressed(MouseEventevent){mousex=event.getX();mousey=event.getY();}}}
问答题下面是一个Applet程序,其功能是通过两个文本框获得用户输入两个数,按回车键计算这两个数的商。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.awt.Event.*;importjava.applet.*;/*<appletcode="ex14_3.class"width=800height=400></applet>*/publicclassex14_3extendsAppletprivateTextFieldtf1,tf2;privateStringstrAnswer;publicvoidinit()tf1=newTextField(20);add(tf1);tf2=newTextField(20);add(tf2);strAnswer="Undefined";publicvoidpaint(Graphicsg)Fontf=newFont("TimesRoman",Font.PLAIN,20);g.setFont(f);g.drawString("result:",80,100);g.drawString(strAnswer,60,150);publicbooleanaction(Evente,Objecto)Strings1=tf1.getText();Strings2=tf2.getText();tryintn1=String.valueOf(s1);intn2=String.valueOf(s2);intout=n1/n2;strAnswer=Integer.parseInt(out);catch(NumberFormatExceptionnfe)strAnswer="errornumber!";repaint();returntrue;ex14_3.htm1<HTML><HEAD><TITLE>ex14_3</TITLE></HEAD><BODY><appletcode="ex14_3.class"width=800height=400></applet></BODY></HTML>
问答题本程序将字符数组arr[]={'a','C','d','E','T','s','$','W','z'}中的所有小写字母变成大写,并打印输出字符数组。
public class exam_51{
public static void main{String[]args){
char arr[]={'a','C','d','E','T','s','$','W','z'};
int i=0;
______;
while(i<n){
if(______)
arr[i]=______;
i++;
}
for(i=0; i<n; i++)
System.out.print(arr[i]+" ");
}
}
问答题下面是一个Applet程序,其功能是从3-100之间(包括3和100)每隔0.5秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.Applet;/*<appletcode=ex4_3.classwidth=800height=400></applet>*/publicclassex4_3extendsApplet{publicColorcolor4_3=Color.black;privateintn4_3=3;publicmyPrimethPrime4_3;publicvoidinit(){thPrime4_3=newmyPrime(this);thPrime4_3.start();}publicvoidpaint(Graphicsg){g.setColor(color4_3);g.drawString({{U}}n4_3{{/U}},50,50);}publicintgetInt(){returnn4_3;}publicvoidsetInt(inti){n4_3=i;}}classmyPrimeextendsThread{ex43obj4_3;myPrime(ex4_3o){this.obj4_3=o;}publicbooleanisPrime(intn){booleanbPrime=true;inti=2;if(nreturnfalse;while(i<n-1i++;}returnbPrime;}publicvoidrun(){inti;for(i=3;{{U}}iif(isPrime(i))obj4_3.color4_3=Color.gray;elseobj4_3.color4_3=Color.green;{{U}}obj4_3.n4_3{{/U}};obj4_3.repaint();try{sleep(500);}catch(InterruptedExceptionie){}}}}{{B}}ex4_3.htm1{{/B}}<HTML><HEAD><TITLE>ex4_3</HEAD><BODY><appletcode="ex4_3.class"width=800height=400></applet></BODY></HTML>
问答题本程序的功能是求1~100的自然数的累加,并打印输出计算结果。
public class exam_89{
public static void main(String[] args) {
int sum=0;
int i=1;
for(;;){
if(______){
sum=sum+i;
}else
______;
______;
}
System.out.println("sum="+sum);
}
}
问答题下面是一个Applet程序,其功能是计算山顶的高度,计算方法是:该山顶由a点量得仰角度数为a度,由b点量得仰角度数为b度,且测得a,b点之间的距离为c米,求山的高度。要求窗口中有3个输入框,分别作为a,b,c的输入,一个按钮点击后进行计算,结果显示在另一个文本框中(这个文本框不可编辑)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: import java.io.*; import java.awt.*; import java.awt.event.*; import java.applet.Applet; /* <applet code="ex6_3.class" width=800 height=400 > </applet> */ public class ex6_3 extends Applet implements ActionListener Panel pane=new Panel(); Label 11 = new Label("a 点仰角:"); TextField tfl = new TextField(5); Label 12 = new Label("b 点仰角:"); TextField tf2 = new TextField(5); Label 13 = new Label("a,b 之间距离:"); TextField tf3 = new TextField(5); Button btn = new Button("OK"); Label 14=new Label ("山高"); TextField tf4=new TextField(20); ex6_3 obj23_3; public void init() pane.setLayout (new FiowLayout(FlowLayout.LEFT,10,5)); pane.add (11); pane.add (tf1); pane.add (12); pane.add (tf2); add ("North", pane); Panel p2=new Panel(); p2.setLayout(new FlowLayout (FlowLayout. LEFT, 10,5)); p2.add(13); p2.add (tf3); p2.add(btn); btn. addActionListener (this); add ("Center", p2); Panel p3=new Panel(); p3.setLayout(new FlowLayout (FlowLayout.LEFT,10,5)); p3.add(14); tf4. setEditable (true); p3.add(tf4); add ("South", p3); obj23_3=new ex6_3(); public void doMessure(double al,double a2,double a3,TextField tf) double pi=Math. PI,a,b,h; a=al*pi/180.0; b=a2*pi/180.0; h=a3/(1.0/Math. tan (a) -1.0/Math. tan (b)); tf.setText (Integer.toString(h)); public void actionPerformed(ActionEvent ae) double a,b, c; try a=new Double(tf1.getText()) .doubleValue b=new Double(tf2,getText ()) .doubleValue c=new Double(tf3.getText()) .doubleValue obj23_3.doMessure(a,b,c, tf4); catch (NumberFormatException nfe) tf4.setText("wrong number!"); ex6_3. html <HTML> <HEAD> <TITLE>ex6_3</TITLE> </HEAD> <BODY> <applet code="ex6_3.class" width=800 height=400 > </applet> </BODY></HTML>
问答题请在每条横线处填写一个语句,使程序的功能完整,且输出结果为911。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
public class Outer
{
public static void main(String args[])
{
Outer i = new Outer();
i.taskInner();
}
public class Inner
{
private int size;
public void doSomething(int size)
{
____________________//访问局部变量
this.size++;//访问内部类的成员变量
____________________//访问外部类的成员变量
System.out.println(size+" "+this.size+" "+Outer.this.size);
}
}
public void taskInner()
{
__________________
k.doSomething(8);
}
private static int size;
}
问答题本程序的功能是通过一个下拉菜单选择一种或两种动物的名称,并实时显示出来。窗口中有一个文字标签和一个列表框,选中列表框中的任意一个或多个选项(按住Shift或Ctrl键可进行多选)后,文字标签上就会对应显示所选的项,例如会显示“动物园里的动物有:XX1、XX2、XX3”(XX1、XX2、XX3是列表框中选中的项),如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;classListFrameextendsJFrameimplementsListSelectionListener{publicListFrame(){setTitle("exam_15");setSize(400,300);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});String[]words={"老虎","骆驼","大熊猫","猴子","猩猩","狼","孔雀","狮子"};JListwordList=newJList(words);JScrollPanescrollPane=______;JPanelp=newJPanel();p.add(scrollPane);wordList.addListSelectionListener(this);getContentPane().add(p,"South");panel=newListTestPanel();getContentPane().add(panel,"Center");}publicvoidvalueChanged(ListSelectionEventevt){JListsource=(JList)evt.getSource();Object[]values=source.getSelectedValues();Stringtext="";for(inti=0;i<values.length;i++)Stringword=______;text+=Word+",";}panel.setAttribute(text);}privateListTestPanelpanel;}classListTestPanelextendsJPanel{publicListTestPanel(){setAttribute("");}publicvoidsetAttribute(Stringw){text="动物园里的动物有:"+w;repaint();}publicvoidpaintComponent(Graphicsg){super.paintComponent(g);g.drawString(text,0,50);}privateStringtext;}publicclassexam_15{publicstaticvoidmain(String[]args){JFrameframe=newListFrame();frame.show();}}
问答题下面是一个Applet程序,其功能是实现网页上的电子时钟,要求显示的格式为hh:mm:ss如02:04:50。提示:通过获取当前系统时间来实现。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序文件清单如下:
import java.applet.*;
import java.awt.*;
import java.util.Date;
public class ex03_3 extends Applet implements Runnable
{
private Thread thTimer=null;
private String strTime;
private int tHour,tMin,tSec;
public void init()
{
setFont(new Font("Times New Roman",Font.BOLD,20));
}
public void paint(Graphics Graph)
{
Date dNow=new Date();
tHour=dNow.getHours();
tMin=dNow.getMinutes();
tSec=dNow.getSeconds();
if(tHour<=9)
strTime="0"+tHour+":";
else
strTime=tHour+":";
if (tMin<=9)
{{U}}strTime="0"+strTime+tMin+":";{{/U}}
else
strTime=strTime+tMin+":";
if(tSec<=9)
{{U}}strTime="0"+strTime+tSec;{{/U}}
else
strTime=StrTime+tSec;
Graph.drawString(StrTime,80,80);
}
public void Start{}
{
if(thTimer==null)
{
thTimer=new Thread();
thTimer.start();
}
}
public void run()
{
while(thTimer!=null)
{
repaint();
try
{
Thread.sleep(1000);
}
catch (InterruptedException ie)
}
}
}
{{B}}ex03_3.html{{/B}}
<HTML>
<HEAD>
<TITLE>ex03_3</TITLE>
</HEAD>
<BODY>
<applet code="ex03_3.class" width=800 height=400>
</applet>
</BODY>
</HTML>
问答题下面是一个Applet程序,其功能是绘制三维矩形以使该矩形面凹下,并将图像放入凹下的矩形面中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: import java.awt.*; import java.applet.*; import java.awt.image.*; import java.util.*; import java.net.*; /* <applet code="ex01_3.class"width=800 height=400> </applet> */ public class ex01_3 extends Applet private Image img; public void init() URL url=getCodeBase(); img=getImage(url,"ex01_3.gif"); MediaTracker mt=new MediaTracker(); mt.addImage(img,1); try mt.waitForAll(); catch(Exception e) e.printStackTrace(); setBackground(Color.black); public void paint(Graphics g) int thick=3,x=10,y=10; g.drawImage(img,x,y); g.setColor(Color.lightGray); int w = img.getWidth(this); int h = img.getHeight(this); for(int i=0;i<thick;i++) g.draw3DRect(x,y,w+(a*i),true); ex01_3.html <HTML> <HEAD> <TITLE>ex01_3</TITLE> </HEAD> <BODY> <applet code="ex01_3.class"width=800 height=400> </applet> </BODY> </HTML>
问答题下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;/*<appletcode="ex13_3.class"width=800height=400></applet>*/publicclassex13_3extendsApplet{privateButtonbtnClear;privateCheckboxGroupcbg;privateCheckboxchk1,chk2;privateintupX,upY;privateintdownX,downY;privatebooleanbDraw,bClear,bStyle;publicvoidinit(){bDraw=false;bClear=false;bStyle=false;setLayout(null);cbg=newCheckboxGroup();chk1=newCheckbox("Hollow",cbg,true);chk2=newCheckbox("Filled",cbg,false);chk1.reshape(80,getSize().height-80,80,25);chk2.reshape(160,getSize().height-80,80,25);add(chk1);add(chk2);btnClear=newButton("clear");btnClear.reshape(240,getSize().height-80,80,25);add(btnClear);}publicvoidpaint(Graphicsg){if(bDraw){if(upX>downXelseg.drawRect(downX,downY,upX-downX,upY-downY);}elseif(upX>downXelseg.drawRect(downX,upY,upX-downX,downy-upY);}elseif(upX<downXelseg.drawRect(upX,downY,downX-upX,upY-downY);}elseif(upX<downXelseg.drawRect(upX,upY,downX-upX,downy-upY);}bDraw=false;}if(bClear)({{U}}g.clearRect(0,0,getSize().height,getSize().width);{{/U}}bClear=false;}}publicvoidupdate(Graphicsg){paint(g);}publicbooleanmouseUp(Evente,intx,inty){upX=x;upY=y;bDraw=true;repaint();returntrue;}publicbooleanmouseDown(Evente,intx,inty){downX=x;downY=y;returntrue;}publicbooleanaction(Evente,Objecto){if(e.target==btnClear)(bClear=true;repaint();}if(chkl.getState()==true){{{U}}bStyle=true;{{/U}}}if(chk2.getState()==true){{{U}}bStyle=false;{{/U}}}returntrue;}}{{B}}ex13_3.html{{/B}}<HTML><HEAD><TITLE>ex13_3</TITLE></HEAD><BODY><appletcode="ex13_3.class"width=800height=400></applet></BODY></HTML>
问答题本程序的功能是展示微调项的使用。窗口中有5个微调项,第一个是基本微调项,可调整所有的整数,每步为1。第二个是日期微调项,只可以调整当前时间和日期中的日期。第三个是列表微调项,只可以从“Sunday”到“Saturday”间进行调整,而不能循环调整。第四个是数字微调项,可调整0~100间的数字,每步为5。第五个是可循环列表微调项,可将“Sunday”到“Saturday”的列表项循环进行调整,如图所示。importjavax.swing.*;importjavax.swing.event.*;importjava.awt.*;importjava.util.List;publicclassexam_37extendsJFrame{publicexam_37(){super("exam_37");setSize(300,180);setDefaultCloseOperation(EXIT_ON_CLOSE);Containerc=getContentPane();c.setLayout(newGridLayout(0,2));c.add(newJLabel("基本微调控制项"));c.add(newJSpinner());c.add(newJLabel("日期微调控制项"));c.add(newJSpinner(newSpinnerDateModel()));Stringweekdays[]=newString[]{"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};c.add(newJLabel("列表微调控制项"));c.add(newJSpinner(newSpinnerListModel(weekdays)));c.add(newJLabel("数字微调控制项"));c.add(newJSpinner(newSpinnerNumberModel(0,0,100,5)));c.add(newJLabel("可循环列表微调控制项"));c.add(newJSpinner(newRolloverSpinnerListModel()));setVisible(true);}publicstaticvoidmain(Stringargs[]){newexam_37();}}classRolloverSpinnerListModelextendsSpinnerListModel{publicRolloverSpinnerListModel(Object[]items){super(items);}publicRolloverSpinnerListModel(Listitems){super(items);}publicvoidgetNextValue(){Objectnv=super.getNextValue();if(nv!=null){returnnv;}returngetList().get(0);}publicObjectgetPreviousValue(){Objectpv=super.getPreviousValue();if(pv!=null){returnpv;}Listl=getList();returnl.get(l.length()-1);}}
问答题本题中,窗口的背景色为系统桌面的颜色,在窗口中分别画空心和实心的黑色矩形、深灰色圆角矩形和浅灰色椭圆形,并且画白色粗体的“欢迎学习Java!”字符串。 import java.awt.*; import javax.swing.*; public class java2 public static void main(String[]args) FillFrame frame=new FillFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); class FillFrame extends JFrame public FillFrame() setTitle("java2"); setSize(WIDTH,HEIGHT); FillPanel panel=new FillPanel(); panel.setBackround(SystemColor.desktop); Container contentPane=getContentPane(); contentPane.add(panel); public static final int WIDTH=400; public static final int HEIGHT=250; class FillPanel extends JPanel public void paintComponent(Graphics g) ______; g.setColor(new Color(10,10,10)); g.drawRect(10,10,100,30); g.setColor(new Color(100,100,100)); g.drawRoundRect(150,10,100,30,15,15); g.setColor(new Color(150,150,150)); g.drawOval(280,10,80,30); g.setColor(new Color(10,10,10)); g.fillRect(10,110,100,30); g.setColor(new Color(100,100,100)); g.fillRoundRect(150,110,100,30,15,15); g.setColor(new Color(150,150,150)); g.fillOval(280,110,80,30); g.setColor(Color.white); Font f=new Font("宋体",______,20); g.setFont(f); g.drawstring("欢迎学习Java!",150,200);
问答题下面是一个Applet程序,其功能是有2个按钮,分别为First和Second,以及一个Labe1构件。要求点击First时则能在Labe1中显示出Command:First,而点击Second时则能显示出Command: Second,要求只能使用重载一次actionPerformed( )方法。请改正程序中的错误(有下画线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java.awt.*; import java.awt.event.*; import java.applet.*; /* <applet code=ex20_3.class width=800 height=400> </applet> */ public class ex20_3extends Applet implements ActionListener private String str="Ok"; private Label 1; private Button btn; public void init() setLayout(null); 1=new Label(str); 1.reshape(10,10,100,30); add(1); btn=new Button("First"); btn.reshape(10,50,60,20); 1.addAcUonljstener(this);add(btn); btn=new Button("Second"); btn.reshape(10,100,60,20); btn.setActionCommand("First"); btn.addAc“OnListener(this); add(btn); public void actionPerformed(ActionEvent ae) str="Command:"+ae.getActionColllInttnd( ); btn.setText(str); ex20_3.html <HTML> <HEAD> <TITLE>ex20_3</TITLE> </HEAD> <BODY> <applet code="ex20_3.class"width=800 height=400 > </applet> </BODY> </HTML>
