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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вставка JComponent в JFrame 
V
    Опции темы
dunki
  Дата 24.11.2006, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.11.2006
Где: Киев

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



Так вот проблема: рисуется только второй компонент(b). Как нарисовать оба?

Код


public class SwingPainting extends JFrame {
    
    public SwingPainting() {
        SwingComponent a = new SwingComponent(10);
        SwingComponent b = new SwingComponent(300);
        getContentPane().add(a);
        getContentPane().add(b);
        setSize(500, 500);
        setVisible(true);
    }
        
    class SwingComponent extends JComponent {
            int x;
        SwingComponent(int x){
            this.x = x;
        }
        public void paintComponent(Graphics g) {
            System.out.println("paintComponent");
            super.paintComponent(g);
            g.setColor(Color.red);
            g.fillOval(x, 10, 50, 50);
        }
       
    } 


PM MAIL ICQ   Вверх
powerOn
Дата 24.11.2006, 00:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



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

Код

public class SwingPainting extends javax.swing.JFrame {
    
    public SwingPainting() {
        SwingComponent a = new SwingComponent(10);
        SwingComponent b = new SwingComponent(10);

        getContentPane().setLayout(new java.awt.GridLayout());
        getContentPane().add(a);
        getContentPane().add(b);
        
        setSize(500, 500);
        setVisible(true);
    }
        
    class SwingComponent extends JComponent {
            int x;
        SwingComponent(int x){
            this.x = x;
        }
        public void paintComponent(Graphics g) {
            System.out.println("paintComponent");
            super.paintComponent(g);
            g.setColor(Color.red);
            g.fillOval(x, 10, 50, 50);
        }
       
    } 
    
    public static void main(String args[]) {
        
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new SwingPainting().setVisible(true);
            }
        });
    }
}



Это сообщение отредактировал(а) powerOn - 24.11.2006, 00:53


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
dunki
Дата 24.11.2006, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.11.2006
Где: Киев

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



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

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

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


 




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


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

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