《Java语言程序设计基础教程》
41
}
}
add(tf); add(btn);
setBounds(400, 300, 400, 300); //设置窗体的位置和尺寸 setVisible(true);
4、编写一个主类为TestKey的程序实现如下功能:在窗口画出一个红色圆点,并可以通过键盘方向键(左右上下)控制红色圆点圆点进行移动。涉及到KeyEvent对应监听器接口的实现,paint()方法的重写,内部类等知识点。
import java.awt.* ; import java.awt.event.*; import java.util.*;
public class TestKey { }
class KeyFrame extends Frame{
int framLocaX= 200 ; int framLocaY= 200 ;
//Point p = new Point(framLocaX+100, framLocaY+100) ; Point p = new Point(100, 100) ;
public static void main(String[] args){ }
new KeyFrame().launchFrame() ;
41
42
} }
42
《Java语言程序设计基础教程》
public void launchFrame(){ }
public void paint(Graphics g){ }
class MyKeyMonitor extends KeyAdapter{
public void keyPressed(KeyEvent e){ }
int keyCode = e.getKeyCode() ; /*if(keyCode ==KeyEvent.VK_UP){
System.out.println(\
}*/
switch (keyCode){ case KeyEvent.VK_UP: }
KeyFrame f= (KeyFrame)e.getSource() ; f.repaint() ;
p.y = p.y-10 ; break;
p.y = p.y+10 ; break;
p.x = p.x+10 ; break;
p.x = p.x-10 ; break;
g.setColor(Color.BLUE); g.fillOval(p.x, p.y, 10, 10); setSize(400,400) ;
setLocation(framLocaX,framLocaY); addKeyListener(new MyKeyMonitor()) ; setVisible(true);
case KeyEvent.VK_DOWN:
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_LEFT:
《Java语言程序设计基础教程》
43
第7章 多线程
7.1单项选择题
1、 Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?( )
A、安全性 B、多线程 C、跨平台 D、可移植 解答:B
2、 Runnable接口中的抽象方法是( )。
A、start B、stop C、yield D、run
解答:D
3、 有以下程序段 (很难)
class MyThread extends Thread {
public static void main(String args[]) {
MyThread t = new MyThread(); MyThread s = new MyThread(); t.start();
System.out.print(\ s.start();
System.out.print(\ }
public void run() {
System.out.print(\ } }
则下面正确的选项是( ) A、编译失败
B、程序运行结果为:one.Threadtwo.Thread C、程序运行结果是:one.two.ThreaThread D、程序运行结果不确定 解答:D
5、 作为类中新线程的开始点,线程的执行是从下面哪个方法开始的。( )
43
44
《Java语言程序设计基础教程》
A、public void start() B、public void run() C、public void int()
D、public static void main(String args[]) 解答:A
6、Java中用于给对象加“互斥锁”标记的关键字是。( )
A、synchronized B、serialize C、transient D、static 解答:A
7.以下哪个方法用于定义线程的执行体? ( C ) A、 start() B、init() C、run() D、synchronized()
8.以下哪个关键字可以用来为对象加互斥锁?( D ) A、transient B、static C、 serialize D、synchronized
7.2填空题
7.3简答题
1、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口。用Thread类的子类创建线程对象,也就是从Thread类继承。实现Runnable接口,用Thread类直接创建线程对象。
同步的实现方面有两种,分别是synchronized,wait与notify。
2、 创建一个新线程的方法,可以使用下面哪2种 ( )
A、继承java.lang.Thread类,并且重载run方法。 B、继承java.lang.Runnable类,并且重载start方法。 C、实现java.lang.thread类,实现run方法。
44