Перерисовка окна

  • Автор темы xKlonx
  • Дата начала
X

xKlonx

Здраствуйте!!!Кто знает,для того чтобы немного научиться jave решил для тестинга написать что - то типа Paint.Вопрос такого характера,при перерисовке окна,тоесть ресайз и т.д. у меня пропадает то что нарисовал,как это можно вылечить?Заранее спасибо!
 
D

dr.SeM

Может лучше жестко закрепить размер фрейма? Если Ви рисуетев апплете,то при интеграции в браузер размер его не меняется
P.S.я так же сначала при изучении java решил написать что - то типа Paint - и так же не решил эту проблему, поскольку если зделать окно неактивным , его содержимое при вызове метода paint(Graphics g){} стирается.
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
xRomax
как и где рисуешь?

 
X

xKlonx

Kmet
Рисую на JPanel.Кстати ещё такая проблемка - мерцание окна и всего его содержимого.Может двойную буферизацию попробовать.Не знаю правильно ли это но пишу без дизайнера.


Добавлено: dr.SeM
Аплеты ещё не пробовал писать
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
xRomax
если кратко, то необходимо создать сабкласс JPanel и переопределть (override) метод paintComponent
Код:
class MyPanel extends JPanel {

public MyPanel() {
setBorder(BorderFactory.createLineBorder(Color.black));
}

public Dimension getPreferredSize() {
return new Dimension(250,200);
}

public void paintComponent(Graphics g) {
super.paintComponent(g);	  

// Draw Text
g.drawString("This is my custom Panel!",10,20);
} 
}

а по хорошему, с начала следует разобраться с циклом жизни swing компонентов
и с моделью Event Dispatch Thread
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!