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

xKlonx

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

dr.SeM

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

xKlonx

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


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

Kmet

Java Team
25.05.2006
1 036
8
#5
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