![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Этот код прекрасно собирается под 1.4.2
|
|||
|
||||
| djGri |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 21.2.2005 Репутация: 1 Всего: 3 |
AntonSaburov
В этом случае работает:
А в этом нет:
Это потому, что у JFrame - default layout = Border Layout Это сообщение отредактировал(а) djGri - 22.2.2005, 16:36 |
||||
|
|||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Я не понимаю, почему у тебя panel.add имеет параметры в странном порядке ?
А кроме того у панели по умолчанию другой layout. |
|||
|
||||
| djGri |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 21.2.2005 Репутация: 1 Всего: 3 |
Да - Flow
panel.add ( Container, int ) |
||||
|
|||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
contentPane имеет дефаултом BorderLayout, потому contentPane.add(panel, BorderLayout.CENTER) добавит панель в центр. У JPanel дефаулт - FlowLayout, и дейсвительнo есть метод add(Component, int) который добавляет на позицию int. Поэтому panel.add(myPanel, BorderLayout.CENTER) добавит явно нe в центр.
Плохo, когда нет енумов, тогда б сразу выдалo ошибку. -------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
BorderLayout.CENTER имеет тип String.
|
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Извиняусь, я имел в виду метод add(Component, Object).
-------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Посмотрел наконец первый пример - все там корректно. Просто установка размеров для MyPanel не дает эффекта. И не должно. JPanel возвращает самый маленький размер для FlowLayout. А он и будет минимальным, т.к. никаких элементов не находится на панели.
Там и получается ма-а-а-аленькая панелька в самом верху. Так что пример работает корректно. Что ты хочешь получить на самом деле ? |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Прикол в том, что в этом методе add в качствe констрейнта можно указывать все чтo угодно, если стоит FlowLayout . Например
-------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
Так FlowLayout никаких условий не использует.
Вот прямо из описания: "Also notifies the layout manager to add the component to this container's layout using the specified constraints object." Т.е. этот объект используют только те лэйауты, которые в нем нуждаются. FlowLayout к ним не относиться. Попробуй пример, в котором просто изменен лэйаут у панели - все увидишь. Отругается, что фигню дали.
|
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Дык понятно, но сам факт наличия метода сбивает с толку. Для BorderLayout все сработае; в других случаях чловек начинает писать .add(myPanel, BorderLayout.NORTH); и думаеt чтo работает с BorderLayout.
-------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 10 Всего: 118 |
По уму наверно надо было бы действительно описать какой-нибудь интерфейс для констрэйнтов и тогда понятности было бы больше.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |