2013-09-10 4 views
1

я пытаюсь реализовать внешний вид и в JFrame Java Swing для его метания следующего исключенияКак применять LookAndFeel из JTatto в Frames явы

"java.lang.ClassCastException:javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D " 

его рабочими на некоторых формах. в чем причина ошибки выше

+0

убедитесь, что никто не знает на основе/из этого описания, исключения – mKorbel

ответ

2

Несмотря на то, что в целом отсутствует весь контекст, мне нужно что-то указать.

С тех пор как Java 1.4 или около того, всех Graphics объектов, передаваемых между paint, paintComponent, paintBackground, paintChildren и этажеркой стали, по сути, Graphics2D объектов. Это широко считается фактом (Graphics == Graphics2D).

Однако некоторые из ваших компонентов, по-видимому, используют setDebugGraphicsOptions(int). Это делает так, что прежний «факт» больше не верен. Если у вас есть надежная реализация (например, проверка instanceof Graphics2D), вы заметите, что, например, RenderingHints (доступно только на Graphics2D) больше не применяются при использовании отладочной графики. В противном случае он будет терпеть неудачу с точным исключением, которое вы получаете.

Было бы очевидно, что весь ваш код предполагает, что Graphics являются Graphics2D. Поэтому вам нужно либо прекратить использование графических параметров отладки, либо вручную исправить все переопределенные методы paintComponent.

 Смежные вопросы

  • Нет связанных вопросов^_^