Изменить графику JPanel по умолчанию - PullRequest
0 голосов
/ 10 октября 2011

когда у меня есть JPanel, он имеет графику по умолчанию, которая передается в paint(Graphics g), и аналогичную функцию.Можно ли как-то переключить это значение по умолчанию Graphics на мое собственное?Снаружи JPanel class?Я ищу что-то вроде JPanel.setGraphics(Graphics g).Спасибо.

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

Нет, но вы можете переопределить его метод paintComponent, привести объект Graphics, переданный в качестве аргумента, к Graphics2D и нарисовать на нем все, что захотите.

0 голосов
/ 10 октября 2011

Насколько я знаю, единственный способ контролировать, какой объект Graphics передается, - включить опцию отладочной графики.Это делается путем вызова JComponent.setDebugGraphicsOptions(int), который заменит исходный объект Graphics на экземпляр javax.swing.DebugGraphics.

. Экземпляр DebugGraphics жестко задан в методе getGraphics класса JComponentпоэтому я не вижу здесь способа использовать вашу собственную реализацию (кроме использования инструментария JVM для перезаписи кода, как это делают фиктивные библиотеки).

...