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

Тема в разделе "Java", создана пользователем xKlonx, 4 дек 2009.

  1. xKlonx

    xKlonx Lotus team
    Lotus team

    Регистрация:
    10 сен 2009
    Сообщения:
    412
    Симпатии:
    0
    Здраствуйте!!!Кто знает,для того чтобы немного научиться jave решил для тестинга написать что - то типа Paint.Вопрос такого характера,при перерисовке окна,тоесть ресайз и т.д. у меня пропадает то что нарисовал,как это можно вылечить?Заранее спасибо!
     
  2. dr.SeM

    dr.SeM Гость

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

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
  4. xKlonx

    xKlonx Lotus team
    Lotus team

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


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

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    xRomax
    если кратко, то необходимо создать сабкласс JPanel и переопределть (override) метод paintComponent
    Код (Text):
    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
     
Загрузка...

Поделиться этой страницей