Как рисовать на любом компоненте?
От: Sergey_LV Латвия  
Дата: 26.02.04 21:55
Оценка:
Как рисовать на любом компоненте, например на JButton? При этом, необходимо, чтобы рисунок не пропадал при перерисовке.
Re: Как рисовать на любом компоненте?
От: Blazkowicz Россия  
Дата: 27.02.04 06:19
Оценка:
Здравствуйте, Sergey_LV, Вы писали:

S_L>Как рисовать на любом компоненте, например на JButton? При этом, необходимо, чтобы рисунок не пропадал при перерисовке.

Смотря, зачем. Если тебе нужен определённо кустомизированный дизайн, то лучше сделать свой Look & Feel. Если тебе просто определённый рисунок на определенной компоненте, то нужно переопределить метод paint(). В общем выбор решения зависит от ситуации.
Re[2]: Как рисовать на любом компоненте?
От: Sergey_LV Латвия  
Дата: 27.02.04 08:03
Оценка:
Здравствуйте, Blazkowicz, Вы писали:


B>Смотря, зачем. Если тебе нужен определённо кустомизированный дизайн, то лучше сделать свой Look & Feel. Если тебе просто определённый рисунок на определенной компоненте, то нужно переопределить метод paint(). В общем выбор решения зависит от ситуации.


Хорошо, как переопределить метод paint() для JButton или для JPanel. Не могу найти ни одного примера.

Нужно мне это, как для создания дизайна, так и для создания и изменения рисунка отдельных компонентов в процессе работы программы.
Re[3]: Как рисовать на любом компоненте?
От: Blazkowicz Россия  
Дата: 27.02.04 08:14
Оценка:
Здравствуйте, Sergey_LV, Вы писали:

S_L>Хорошо, как переопределить метод paint() для JButton или для JPanel. Не могу найти ни одного примера.


В чем трудности-то?

Создаём:

class MyButton extends JButton 
{

  public void paint(Graphics g)
  {
     super.paint(g);
     g.drawString("This is MY Button!", 0, 0);
     g.drawLine(0,0,10,10);
  }

}


Используем:

JButton button = new MyButton();
container.add(button);



S_L>Нужно мне это, как для создания дизайна, так и для создания и изменения рисунка отдельных компонентов в процессе работы программы.


Ну тогда ещё советую поискать статьи на тему создания своих Look & Feel. Это не трудно.
Re[4]: Как рисовать на любом компоненте?
От: Nicht Россия  
Дата: 01.03.04 07:42
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Sergey_LV, Вы писали:


S_L>>Хорошо, как переопределить метод paint() для JButton или для JPanel. Не могу найти ни одного примера.


B>В чем трудности-то?


B>Создаём:


B>
B>class MyButton extends JButton 
B>{

B>  public void paint(Graphics g)
B>  {
B>     super.paint(g);
B>     g.drawString("This is MY Button!", 0, 0);
B>     g.drawLine(0,0,10,10);
B>  }

B>}
B>


B>Используем:


B>
B>JButton button = new MyButton();
B>container.add(button);
B>



S_L>>Нужно мне это, как для создания дизайна, так и для создания и изменения рисунка отдельных компонентов в процессе работы программы.


B>Ну тогда ещё советую поискать статьи на тему создания своих Look & Feel. Это не трудно.


В качестве дополнения.
Если используются компоненты SWING, то в их системе прорисовки рекомендуется переопределять не метод paint( Graphics g ), а метод paintComponent( Graphics g ).
Дабы не нарушать их супур-мега двойной буферизации, и чтобы бордюры нормально прорисовывались вроде.
Re[5]: Как рисовать на любом компоненте?
От: Sergey_LV Латвия  
Дата: 26.03.04 10:26
Оценка:
Спасибо Blazkowicz и Nicht.

Это действительно просто. Иногда бывает тяжело найти то, что лежит наповерхности.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.