Тема: Намалювати лінію на ігровому полі
Завдання: намалювати на ігровому полі лінію(потім перероблю на те що потрібно) при кліку мишкою
Проблема: поле намалював на ура, а вот лінія не малюється
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
public class Game extends JFrame{
public static final int n=10;
public static void main() {
JFrame frame=new JFrame("Test");
frame.setSize(305,330);
frame.setVisible(true);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel contentPane = new JPanel(){//це малює
Graphics2D g2;
protected void paintComponent(Graphics g){
super.paintComponent(g);
g2=(Graphics2D)g;
for (int i=0;i<frame.getWidth();i=i+(frame.getWidth()-5)/n)
{
g2.setColor(Color.BLACK);
g2.drawLine(i,0, i, frame.getHeight());
}
for (int i=0;i<frame.getHeight();i=i+(frame.getHeight()-30)/n)
{
g2.setColor(Color.BLACK);
g2.drawLine(0,i, frame.getWidth(),i);
}
}
};
frame.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
System.out.print(e.getX() / 30);
System.out.println((e.getY() / 30) - 1);
JPanel X = new JPanel(){//а вот це ні
Graphics2D g2;
protected void paintComponent(Graphics g){
super.paintComponent(g);
g2=(Graphics2D)g;
g2.setColor(Color.RED);
g2.drawLine(100,100,200,200);
}
};
contentPane.add(X);
}
});
frame.setContentPane(contentPane);
}
}