-2
import java.applet.Applet;
import java.awt.Color;
import java.awt.Event;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class Drawing extends Applet implements KeyListener {
/**
*
*/
char c;
int xCoord, yCoord, xCoord2, yCoord2;
int lastx = getX();
int lasty = getY();
int count = 0;
public void paint(Graphics g) {
switch (c) {
case 'b':
{
g.setColor(Color.black);
break;
}
case 'p':
{
g.setColor(Color.pink);
}
}
g.drawLine(xCoord, yCoord, xCoord2, yCoord2);
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
c = e.getKeyChar();
System.out.println("check if it run");
paint(this.getGraphics());
}
public boolean mouseMove(Event e, int x, int y) {
System.out.println("mouse");
xCoord2 = x;
yCoord2 = y;
xCoord = lastx;
yCoord = lasty;
lastx = x;
lasty = y;
if (xCoord != 0 || yCoord != 0)
this.paint(getGraphics());
return true;
}
}
爲什麼我的鍵類型方法沒有運行,我想通過鍵改變顏色,但它沒有運行,代碼運行良好,但我無法通過鍵入改變顏色。幫助這個計劃幾乎完成了me.The的目標,但我不能改變color.ssss sssssssssssssssssskeyListenner and mousemove
壓痕,請。沒有人應該閱讀這樣的代碼。 – khelwood
1)Applets已棄用,您應該停止使用它們; 2)不要使用'getGraphics',並且絕對不要試圖自己調用'paint',這不是繪畫的工作原理 - 請參閱[繪畫中的Swing](http://www.oracle.com/technetwork/java/painting) -140037.html)和[執行自定義繪畫](https://docs.oracle.com/javase/tutorial/uiswing/painting/)瞭解繪畫是如何工作的以及如何使用它; 3)與所有關於'KeyListener'的問題一樣,請使用[Key Bindings API](https://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html) – MadProgrammer