2012-02-15 3 views
0

Когда я добавляю компоненты поворота в свой апплет, они не отображаются. Иногда, если я перемещаю мышь вокруг некоторых JButtons, всплывает (странно). У меня есть метод paint (Graphics g) {} и update (Graphics g) {}, но даже когда я удаляю все изображения и код рисования, компоненты все еще не отображаются. Это что-то нормальное, что происходит с апплетами, или я ошибаюсь?Компоненты качания в апплете не работают

+0

вы можете отправить код – vikky

+1

Распространяется ли ваш Applet JApplet? опубликовать код для получения более точных ответов. –

+1

Убедитесь, что ваш апплет построен в [потоке отправки событий] (http://download.oracle.com/javase/tutorial/uiswing/concurrency/initial.html). – trashgod

ответ

0

Хорошо, я понял. Глупая ошибка. Я использовал Applet, а не JApplet.

1

Это обычное явление не в апплетах, а в программе Java. Насколько я знаю, я встречаюсь со многими подобными случаями из-за проблемы несовместимости. Когда это происходит, сверните окно и измените его размер, и все объекты всплывают так, как должны. Я не уверен, есть ли решение для этого. Я думаю, что должен быть один. Обычно это происходит, когда объекты перекрываются.

EDIT: информация может быть полезна: при изменении размера окна в обычной java-программе вызывается javax.swing.JComponent.repaint().

+0

* "также в программе Java." * Нет, это не так, если только код не нарушен. –

+0

@AndrewThompson Я написал программу, используя JFrame и Null Layout. Это происходит довольно часто, когда у меня есть объекты, перекрывающиеся. Объект, который должен быть поверх другого, иногда покрывается. Если вы хотите, я могу отправлять свои коды в другом месте, и я не думаю, что мои коды в корне неверны. – YankeeWhiskey

+0

* "Null Layout" * Существует проблема. См. [SetLayout (null) никогда не требуется. Когда-либо!] (Https://forums.oracle.com/forums/thread.jspa?threadID=1351374) для более подробной информации. –

1

У меня также была такая же проблема, вот решение, которое помогло мне:

В краску методом (Graphics г) рисовать все контейнеры правильно использовать super.paint (г).

Как:

void paint(Graphics g) 

{ 

    super.paint(g); 

//code to draw something 

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