Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не устанав.: bg, size, location,... для JComponent 
:(
    Опции темы
AlbertoTimakov
Дата 1.4.2013, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 1.4.2013

Репутация: нет
Всего: нет



Здравствуйте! Я новичок в java. Мне нужно сделать компонент, который, я смог бы потом добавлять на фрейм, который имел бы обработчик события - обработка клика мыши - меняется цвет компонента с одного на другой.

Написал вот что:

Код

import javax.swing.*;
import java.awt.*;

public class MyFrameTest{
 public static void main(String [] args){
  MyFrame frame = new MyFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
 }
}

class MyFrame extends JFrame{
 public MyFrame(){

  Toolkit kit = Toolkit.getDefaultToolkit();
  Dimension dem = kit.getScreenSize();

  this.width = dem.width;
  this.height = dem.height;
  this.setBounds(this.width / 4, this.height / 4,this.width / 2, this.height / 2);
  this.setBackground(Color.BLUE);

  Container contentPane = this.getContentPane();
  component = new MyComponent();
  contentPane.add(component);  

 }
 private int width;
 private int height;
 private MyComponent component;
}

class MyComponent extends JComponent{
 public void paintComponent(Graphics g){
  super.paintComponent(g);//непонял
  g.drawString("text", text_x, text_y);
 }
  public MyComponent(){
  this.setOpaque(true);// непонял
  this.setSize(100,100);//не работает
  this.setLocation(100,100);//не работает
  this.setBackground(Color.BLUE);//не работает
  this.setForeground(Color.GREEN);// работает
 }
 public static final int text_x = 50;
 public static final int text_y = 50;
}



JComponent:

- Не устанавливается расположение компонента относительно фрейма через setLocation(,)
- Не устанавливается размер через setSize(100,100);
- Не устанавливается цвет фона компонента через setBackgound(Color color);

- Но устанавливается цвет текста.



JFrame:

- Не устанавливается цвет фона через setBackgound(Color color); - Работает, если поставить в JComponent, this.setOpaque(true); Т.е.:

Код

class MyFrame extends JFrame{
 public MyFrame(){
  //...
  this.setBackground(Color.BLUE);

  Container contentPane = this.getContentPane();
  component = new MyComponent();
  contentPane.add(component);  
 }
 //...
}

class MyComponent extends JComponent{
 public void paintComponent(Graphics g){
  //...
 }
  public MyComponent(){
  this.setOpaque(true);// непонял
  //...
 }
 //...
}


Причем, если убрать добавляемый компонент с формы, то никакой закраски формы не происходит...

- Как закрасить форму унаследованной от JFrame
- Как изменить параметры Location, size и Background компонента унаследованного от JComponent
- Как правильно сделать что-то вроде контрола в Java? И есть ли такое понятие в Java?

Помогите пожалуйста разобраться!



Это сообщение отредактировал(а) AlbertoTimakov - 1.4.2013, 20:35
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0612 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.