我不確定爲什麼我的代碼無法正常工作,但它讓我發瘋。爲什麼這段代碼不能畫出一條線?
這是我的課應該繪製按鈕和創建區借鑑:
第二組的代碼是我需要做4帆布的,當我使兩個鼠標點擊它繪製一個驅動程序如果我嘗試再次點擊畫布,然後重新繪製兩次點擊。
我收到以下錯誤: 錯誤:無效的方法聲明;需要返回類型 addMouseListener(this); ^ 錯誤:非法啓動類型 addMouseListener(this); ^
public class Scribble extends JPanel implements MouseListener
{
addMouseListener(this);
int x, x1, y, y1;
boolean flag = false;
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(x, y, x1, y1);
}
public void mouseReleased(MouseEvent e)
{
if (!flag){
x = e.getX();
y = e.getY();
flag = true;
}
else{
x1 = e.getX();
y1 = e.getY();
flag = false;
repaint();
}
}
public void mouseExited(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseMoved(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
}
public class Lab8Draw extends JFrame{
public Lab8Draw(){
Color c = new Color(100, 10, 200);
setTitle("Lab 8 - Application #1");
setLayout(new GridLayout(2,2));
Scribble s = new Scribble();
s.setBackground(Color.WHITE);
add(s);
Scribble s1 = new Scribble();
s1.setBackground(Color.RED);
add(s1);
Scribble s2 = new Scribble();
s2.setBackground(c);
add(s2);
Scribble s3 = new Scribble();
s.setBackground(Color.BLUE);
add(s3);
}
public static void main (String[] args){
Lab8Draw frame = new Lab8Draw();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 800);
frame.setVisible(true);
}
}
我得到這個錯誤,當我試圖通過實現MouseListener – Robert
錯誤:塗鴉是不是抽象的, 公共類塗鴉擴展JPanel實現的MouseListener ^ – Robert
您必須實現規定的所有方法不MouseListener的覆蓋抽象方法的mouseEntered(MouseEvent)方法在_MouseListener_界面上。通過IDE(源代碼 - >覆蓋/在Eclipse中實現)執行此操作通常是最簡單的。如果這些是空的實現(沒有實際做任何事情),那很好,但是你必須定義它們! –