Пытаюсь нарисовать точки там где "кликаю" мышью, но получаю ошибку
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Тут осуществляется рисование:
public void paintComponent() {
super.paintComponent(this.g2);
g2.drawOval(5, 5, getPosX(), getPosY());
}
Вот весь класс где я беру координаты и рисую:
public class Poss extends JPanel{
private int posX = 0;
private int posY = 0;
private Graphics2D g2;
public void paintComponent() {
super.paintComponent(g2);
g2.drawOval(5, 5, getPosX(), getPosY());
}
public void jPanel2MouseReleased(MouseEvent evt) {
setPosX(evt.getX());
setPosY(evt.getY());
System.out.println(getPosX() + " " + getPosY());
paintComponent();
}
public void jPanel2MouseDragged(MouseEvent evt) {
setPosX(evt.getX());
setPosY(evt.getY());
System.out.println(getPosX() + " " + getPosY());
paintComponent();
}
public int getPosX(){
return posX;
}
public int setPosX(int posX) {
return this.posX = posX;
}
public int getPosY() {
return posY;
}
public int setPosY(int posY) {
return this.posY = posY;
}
public Graphics2D setG2(Graphics2D g){
return this.g2 = g;
}}
Вот класс в котором я создаю форму:
public class PaintEL extends Thread{
Poss poss = new Poss();
JFrame frame = new JFrame("Paint");
JPanel panel = new JPanel();
Graphics g = panel.getGraphics();
Graphics2D g2 = (Graphics2D) g;
public PaintEL(){
run();
}
public void run(){
formComp();
}
private void formComp(){
frame.setSize(350, 350);
frame.add(panel);
addAcrionForm();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);
}
private void addAcrionForm(){
poss.setG2(g2);
panel.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent evt) {
poss.jPanel2MouseReleased(evt);
}
});
panel.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent evt) {
poss.jPanel2MouseDragged(evt);
}
});
}}
Поскольку Графика инициализирована в классе где рисую форму, тогда я передаю графику в класс где рисую, происходит это так:
private void addAcrionForm(){
poss.setG2(g2);
Ошибка в строке:
super.paintComponent(g2);
если удалить эту строку, тогда ошибка будет тут:
g2.drawOval(5, 5, getPosX(), getPosY());
Добрый деньВот изучаю JAVA_EE но проблема в том что не могу скачать документацию с примерами для ee 8
Всем добрый день! Только начал изучать Java Android и пытаюсь разобраться как идет взаимодействие с базой данных и авторизацией в приложении
Здравствуйте дамы и господа! Для нашего университета был разработан комплекс программ для проведения тестирования студентов используя...
Начинаю изучать ApachePOIСтолкнулась с проблемой заполнения таблицы