Public void PaintComponent (Графика g) не работаетJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Public void PaintComponent (Графика g) не работает

Сообщение Anonymous »

Я новичок в Java Swing.
Мой код такой:

Код: Выделить всё

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class LineDrawing extends JComponent
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
JPanel panel = new JPanel();

int startX = 0;
int startY = 0;
int endX = 0;
int endY = 0;

addMouseListener(new MouseListener(){
@Override
public void mousePressed(MouseEvent e)
{
startX = e.getXOnScreen();
startY = e.getYOnScreen();
}

@Override
public void mouseReleased(MouseEvent e)
{
endX = e.getXOnScreen();
endY = e.getYOnScreen();
Draw d = new Draw();
d.lineDraw(startX,startY,endX,endY);
panel.add(d);
frame.add(panel);
}

@Override
public void mouseClicked(MouseEvent e){}

@Override
public void mouseEntered(MouseEvent e){}

@Override
public void mouseExited(MouseEvent e){}
});

addMouseMotionListener(new MouseMotionListener(){
@Override
public void mouseDragged(MouseEvent e)
{
endX = e.getXOnScreen();
endY = e.getYOnScreen();
}

@Override
public void mouseMoved(MouseEvent e){}
});

frame.setSize(500,400);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

public class Draw extends JPanel
{
public void lineDraw(int x1,int y1,int x2,int y2)
{
@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.black);
g.drawLine(x1,y1,x2,y2);
}
}
}
}
При выполнении этого выдает следующую ошибку:

Изображение


Как я могу улучшить этот код и устранить вышеупомянутую ошибку.

Я видел и другие коды, но в PaintComponent происходит что-то не так.

Если я оставлю @Override перед PaintComponent .. . Выдает такую ​​ошибку:


1) ';' заявление отсутствует.
2) незаконное начало высказывания.


Подробнее здесь: https://stackoverflow.com/questions/466 ... ot-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»