本人寫了个這樣的代碼 [code]import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
public class test003 extends Frame implements MouseListener
{
static int x1,y1,x2,y2;
static int status = 0;
public static void main(String args[])
{
test003 frm = new test003();
frm.setTitle("交互式绘图");
frm.setBounds(410,410,250,200);
frm.addMouseListener(frm);
frm.setVisible(true);
}
public void mousePressed(MouseEvent e)
{
x1 = e.getX();
y1 = e.getY();
Graphics g = getGraphics();
status++;
if(status == 1)
{
g.drawLine(x1,y1,x1,y1);
x2=x1;y2=y1;
}
else if(status == 2)
{
g.drawLine(x1,y1,x2,y2);
status = 0;
}
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}
[/code]
可以運行 沒有任何的問題 我希望在主文件中new一個drawLine來實現這個畫直綫的功能,
後來我寫了一个這樣的文件
[code]
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
public class drawLine implements MouseListener{
drawLine(){
}
public void mousePressed(MouseEvent e){
int x1,y1,x2,y2;
int status = 0;
x1 = e.getX();
y1 = e.getY();
status++;
Graphics g = getGraphics();
if(status == 1){
g.drawLine(x1,y1,x1,y1);
x2=x1;y2=y1;
}
else if(status == 2){
g.drawLine(x1,y1,x2,y2);
status = 0;
}
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}[/code] 卻説我沒有為類型drawLine定義方法getGraphics();
請問是不是Graphics g = getGraphics();只能寫在主類裏面?
應該怎麽解決這個問題 謝謝高手指點
import java.awt.event.*;
import java.awt.Graphics;
public class test003 extends Frame implements MouseListener
{
static int x1,y1,x2,y2;
static int status = 0;
public static void main(String args[])
{
test003 frm = new test003();
frm.setTitle("交互式绘图");
frm.setBounds(410,410,250,200);
frm.addMouseListener(frm);
frm.setVisible(true);
}
public void mousePressed(MouseEvent e)
{
x1 = e.getX();
y1 = e.getY();
Graphics g = getGraphics();
status++;
if(status == 1)
{
g.drawLine(x1,y1,x1,y1);
x2=x1;y2=y1;
}
else if(status == 2)
{
g.drawLine(x1,y1,x2,y2);
status = 0;
}
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}
[/code]
可以運行 沒有任何的問題 我希望在主文件中new一個drawLine來實現這個畫直綫的功能,
後來我寫了一个這樣的文件
[code]
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
public class drawLine implements MouseListener{
drawLine(){
}
public void mousePressed(MouseEvent e){
int x1,y1,x2,y2;
int status = 0;
x1 = e.getX();
y1 = e.getY();
status++;
Graphics g = getGraphics();
if(status == 1){
g.drawLine(x1,y1,x1,y1);
x2=x1;y2=y1;
}
else if(status == 2){
g.drawLine(x1,y1,x2,y2);
status = 0;
}
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
}[/code] 卻説我沒有為類型drawLine定義方法getGraphics();
請問是不是Graphics g = getGraphics();只能寫在主類裏面?
應該怎麽解決這個問題 謝謝高手指點
一定不會有下次了
另外很感謝你的幫助
你的意思是不是說得自己在drawLine裏面寫个getGraphics方法呢
呃……很抱歉 我剛來的 不懂得規矩
一定不會有下次了
另外很感謝你的幫助
你的意思是不是說得自己在drawLine裏面寫个getGraphics方法呢
对,估计得不偿失,不如直接继承Frame