У меня есть программа, которая позволяет пользователю рисовать. Но когда пользователь нажимает кнопку очистки, которая вызывает clearRect() и repaint(), пользователь больше не может продолжать рисовать на той же панели. Еще одна проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь нажимает кнопку сохранения или открытия (открывая окно проводника файлов), если пользователь нажимает отменить, панель рисует окно файла на панели. Как я могу исправить эти проблемы?Невозможно нарисовать на JPanel после clearRect() и перекрасить()
public void paintComponent(Graphics g){
super.paintComponents(g);
g.fillOval(myX - radius, myY - radius, 2 * radius, 2 * radius);
if(img != null)
g.drawImage(img, 0, 0, null);
}
Ниже часть находится внутри метода actionPerformed
if(source == clear){
g.setBackground(Color.WHITE);
g.clearRect(0, 0, getWidth(), getHeight());
repaint();
}
BufferedImage и графики
BufferedImage img = new BufferedImage(1000, 1000, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = img.createGraphics();
Я до сих пор не уверен, что я делаю неправильно .... –
я добавил буферизованное изображение и график декларации Наверху. –
Рад, что вы его отсортировали; похоже, что вы смешиваете действительный контекст «Graphics» для «BufferedImage» с тем, который был передан 'paintComponent()'. – trashgod