问答题
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用Swing的构件建立图形用户界面。主要包括一个文本区域,用于显示计数器结果:两个按钮,一个使计数器暂停,一个使计数器继续工作。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序文件代码清单如下。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/*
<applet code="ex19_3.class" width=800 height=400>
</applet>
*/
public class ex19_3 extends JApplet
private JTextField jtf=new JTextField(15);
private JButton Hold=new JButton("Hold");
private JButton resume=new JButton("Resume");
private ex19_3th obj19_3th=new ex19_3th();
class ex19_3th extends Thread
private int cnt=0;
private boolean bIsHold=false;
public ex19_3th() start();
public void hold()
bIsHold=true;
public synchronized void fauxResume()
bIsHold=false;
wait ();
public void run()
while (true)
try
sleep(150);
synchronized(this)
while(bIsHold)
notify();
catch(InterruptedException ie)
System.err.println("Interrupted");
jtf.setText(cnt);
public void init()
Container cp=getContentPane();
cp.setLayout(new FlowLayout());
cp.add(jtf);
Hold.addActionListener(
new ActionListener()
public void actionPerformed(ActionEvent ae)
obj19_3th.hold ( );
);
cp.add(Hold);
resume.addActionListener
(
new ActionListener()
public void actionPerformed(ActionEvent e)
obj19_3th.fauxResume();
);
cp.add(resume);
public static void main(String args[])
ex19_3 obj19_3=new ex19_3();
String str= obj19_3.getClass().toString();
if(str.indexOf("class") !=-1)
str=str.substring(6);
JFrame frm=new JFrame(str);
frm.addWindowListener(new WindowAdapter()
public void windowClosing(WindowEvent we)
System.exit(0);
);
frm.getContentPane().add(obj19_3);
frm.setSize(300, 200);
obj19_3.init();
obj19_3.start);
frm.setVisible(true);
ex19_3.html
<HTML>
<HEAD>
<TITLE>ex19_3</TITLE>
</HEAD>
<BODY>
<applet code="ex19_3.class" width=800 height=400>
</applet>
</BODY>
</HTML>
【参考答案】
notify()
wait()
jtf.setText.(Integer.toString(cnt++))
点击查看答案&解析
<上一题
目录
下一题>
热门
试题
问答题
请完成下列Java程序:用JFrame建立—个窗口,再用网格布局管理器,对窗口布局进行控制,上面有2行2列4个按钮,要求对按钮的大小进行设定,宽度为150,高度为80。 注意:请勿改动main主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序文件代码清单如下 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ex19_2 public static void main(String args[]) JFrame frm=new JFrame(); frm.setTitle( ex19_2 ); Container cont=frm.getContentPane(); ______; cont.add(new JButton( button1 )); cont.add(new JButton( button2 )); Dimension dimen=______; JButton btn1=new JButton( button3 ); btn1.setPreferredSize(dimen); cont.add(btn1); cont.add(new JButton( button4 )); frm.addWindowListener(new WindowAdapter() public void winowClosing(WindowEvent we) System.exit(0); ); frm.pack(); frm.setVisible(true);
点击查看答案&解析
问答题
下列程序中,给出两个整数2和3,分别求2除以3和2乘以3的结果,要求调用类ex19_1的方法method()来输出相应的结果,请将程序补充完整。程序运行结果如下。 0.6666666666666666 6 源程序文件代码清单如下: public class exl9 1 public static void main(String args[]) int n1=2,n2=3; ex19_1 obj19_1=new ex19_1(); obj19_1. public void method(int x,int y) System.out.println(______); System.out.println(______);
点击查看答案&解析
相关试题
请完成下列Java程序:用JFrame建立—个窗口...
下列程序中,给出两个整数2和3,分别求2...