944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,926
1

Добавить на панель несколько классов с двумерными фигурами

23.01.2014, 17:44. Показов 1105. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую!

Не могу сообразить как это сделать

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class CreateFrame extends JFrame{
    public CreateFrame(){
        setSize(400, 450);
        setTitle("MyFrame");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setVisible(true);
 
        JPanel pane = new JPanel();
        add(pane);
        
 
        Line1 line1 = new Line1();
        Line2 line2 = new Line2();
        pane.add(line1); //Линия не отображается
        pane.add(line2); //Линия не отображается
        
    }
}
Я подозреваю что не хватает метода setLayout так ли это?

Java
1
2
3
4
5
6
public class Line1 extends JPanel{
    public void paintComponent(Graphics g){
        Graphics2D g2 = (Graphics2D)g;
        g2.draw(new Line2D.Double(10, 10, 20, 20));
    }
}
Java
1
2
3
4
5
6
public class Line2 extends JPanel{
    public void paintComponent(Graphics g){
        Graphics2D g2 = (Graphics2D)g;
        g2.draw(new Line2D.Double(40, 40, 40, 60));
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2014, 17:44
Ответы с готовыми решениями:

Создать несколько классов, добавить методы
Здравствуйте. Выполняю лабораторную работу, многое не получается. Буду очень благодарен за любую...

Как добавить взаимодействие классов в диаграмму классов?
Нужна диаграмма классов для пояснительной записки вот такого вида Диаграмма классов которую...

Сделать так, чтобы можно было добавить несколько одинаковых блюд, не кликая несколько раз
Ребята, подскажите! На форме2 надо сделать так, чтобы можно было добавить несколько одинаковых...

Как добавить кнопку "Добавить форму Windows." на панель VS?
Как добавить кнопку "Добавить форму Windows..." на "панель" или "обозреватель решений" VS?

2
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
23.01.2014, 17:47 2
У JPanel по умолчанию предпочтительный размер - 0х0. Вы добавляете их в панель с FlowLayout-ом, который ориентируется на предпочтительные размеры. Т.е. у Вас компоненты нулевого размера. Вы все еще удивляетесь что их не видно?

Переопределите getPreferredSize, чтобы возвращал что-то осмысленное. Чтобы линия на компоненту целиком помещалась, минимум 20х20 для первой и 40х60 для второй.
1
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,926
23.01.2014, 23:12  [ТС] 3
Skipy, я попробовал такие варианты:
Java
1
2
3
4
5
6
7
        Line1 line1 = new Line1();
        Line2 line2 = new Line2();
        //pane.setPreferredSize(new Dimension(100,100));
        line1.setPreferredSize(new Dimension(60,60));
        pane.add(line1);
        line2.setPreferredSize(new Dimension(60,60));
        pane.add(line2);
Но объект Line1 не отображается.

Добавлено через 1 минуту
Предполагаю что тут уже проблема не с размерами?

Добавлено через 3 часа 48 минут
Java
1
2
3
4
line1.setSize(60, 50);
pane.add(line1);
line2.setSize(60,60);
pane.add(line2);
А вот так заработало.
0
23.01.2014, 23:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2014, 23:12
Помогаю со студенческими работами здесь

Как добавить изображение на панель???
помогите добавить изображение "img.jpg" на панель "р2"!!! import java.util.*; import...

Как добавить панель в JLabel?
подскажите как можно добавить панель с картинкой в JLabel ?

Добавить кнопку на панель инструментов
Добавить кнопку на панель инструментов. Имя кнопки Почта FaceID 45 Выдаваемое...

Как добавить MSFLXGRD на панель инструментов
Где на выборе элементов панели элементов добавить компонент MSFLXGRD и как он называется? Добавил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru