当前位置:首页 > Java2实用教程(第三版)课后答案 - 耿祥义主编
buttonRed.setBounds(10,170,50,30); add(buttonGreen);
buttonGreen.setBounds(70,170,50,30); add(buttonBlue);
buttonBlue.setBounds(130,170,50,30); buttonRed.addActionListener(this); buttonGreen.addActionListener(this); buttonBlue.addActionListener(this); addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0); } } );
setBounds(100,100,200,250); setVisible(true); validate(); }
public void actionPerformed(ActionEvent e) {
if(e.getSource()==buttonRed) {
canvas.setX(1); canvas.repaint(); }
else if(e.getSource()==buttonGreen) {
canvas.setX(2); canvas.repaint(); }
else if(e.getSource()==buttonBlue) {
canvas.setX(3);
canvas.repaint(); } } }
class Mycanvas extends Canvas {
int x=0; Mycanvas()
37
{
setBackground(Color.white); }
public void setX(int y) { x=y; }
public void paint(Graphics g) {
switch(x){ case 1:
g.setColor(Color.red); break; case 2:
g.setColor(Color.green); break; case 3:
g.setColor(Color.blue); break; default:
g.setColor(Color.white); }
g.drawOval(65,65,50,50); } }
public class Test {
public static void main(String args[]) {
new WindowChangeColor(\改变颜色\} }
14.编写应用程序,测试Cursor类中表示鼠标形状的静态常量。 答: import java.awt.*; import java.awt.event.*;
class WindowCursor extends Frame implements ActionListener {
Button button,button1; TextField text; int n=-1;
WindowCursor() {
button=new Button(\单击我\
38
text=new TextField(\将鼠标放在上面的按钮上看形状\button1=new Button(\看看你鼠标的形状\add(button,BorderLayout.NORTH); add(button1,BorderLayout.CENTER); add(text,BorderLayout.SOUTH);
button.setBackground(Color.cyan); button1.setBackground(Color.pink); button.addActionListener(this);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0); } } );
setBounds(100,100,190,150); setVisible(true); validate(); }
public void actionPerformed(ActionEvent e) {
n=(n+1); switch(n) {
case 0:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); break; case 1:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
break; case 2:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); break; case 3:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); break;
case 4:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR));
break; case 5:
39
button1.setCursor(Cursor.getPredefinedCursor(Cursor.NW_RESIZE_CURSOR));
break; case 6:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.NE_RESIZE_CURSOR));
break; case 7:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.W_RESIZE_CURSOR));
break; case 8:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); break; case 9:
button1.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); break; } } }
public class Test {
public static void main(String args[]) {
new WindowCursor(); } }
15.改进本章例子7.30,当释放鼠标键时,如果当前组件和其他组件相交,就将其他组件设置为不可见状态。 答: import java.awt.*; import java.awt.event.*;
import javax.swing.SwingUtilities;
class Win extends Frame implements MouseListener,MouseMotionListener {
Button button; TextField text; int x,y;
boolean move=false; Win() {
button=new Button(\用鼠标拖动我\text=new TextField(\用鼠标拖动我\text.setBackground(Color.green);
40
共分享92篇相关文档