![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Cheese |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Господа, я тут столкнулся с какой-то глупостью. Мне надо вывести через Swing окно, чтобы
- Были известны размеры рабочей области (то есть "внутренне содержимое", без рамок и украшений) - Нельзя было менять размеры. - Работало и под Linux и под Windows. Суть понятна - надо кинуть на форму JPanel нужного размера, а потом применить pack() и окно само сожмётся, но не работает, каналья! Точнее, результаты из под разных ОС различаются, размеры окна не те. Например, вот этот код выдаёт нужные результаты под виндой, а в линуксе окошко прямоугольное.
Что делать, люди? |
|||
|
||||
frodo5 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 17.3.2009 Репутация: нет Всего: нет |
frame.setSize(200,200) религия не позволяет?
|
|||
|
||||
Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 8 Всего: 9 |
|
|||
|
||||
Turinets |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.2.2009 Репутация: нет Всего: нет |
Попробуй так:
Т.е. если вызвать pack() после SetResizable(), вроде всё нормально получается. А насчёт использовать setSize(), ну так изменять надо не размеры понели, а размеры фрейма. Помоему Вы не правильно поняли задачу. Нужна рабочая область фиксированного размера, и нужен фрейм, который будет подогнан под эту область. Именно pack() она и решается. Так что правильная вещь - религия. Это сообщение отредактировал(а) Turinets - 20.3.2009, 10:45 |
|||
|
||||
Turinets |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.2.2009 Репутация: нет Всего: нет |
Хотя на всякий случай можно проверить дело так:
Т.е. сделать один pack, если размеры получились не те, то вычислить попровку и задать новые размеры с последующим pack(). |
|||
|
||||
Cheese |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Не работает, однако. В линуксе окно вытягивается вширь.
|
|||
|
||||
Turinets |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.2.2009 Репутация: нет Всего: нет |
А можешь рассказать что в линухе происходит?
Какие размеры получается у панели\ фрейма? Может просто у фрейма минимальные размеры есть скажем 300.100 поэтому и получается размеры 300,200. Скажи что происходит. 1) какие размеры при задании размера 200,200. 2) какие размеры при задании размера 300,300 .. вобщем как меняется ситуация при изменении размера. |
|||
|
||||
Cheese |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 25.11.2007 Репутация: нет Всего: нет |
Я сам не понимаю толком, как там всё получается. В линуксе окно вытянуто по вертикали, пикселей на 30, панелька тоже почему-то вытянута.
|
|||
|
||||
Turinets |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.2.2009 Репутация: нет Всего: нет |
Размеры можешь сказать?
И даже спрасить стесняюсь: какое разрешение в линухе у тебя? может там масштаб (dx/dy) иной? Это сообщение отредактировал(а) Turinets - 20.3.2009, 17:51 |
|||
|
||||
Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 8 Всего: 9 |
Вот только что под linux сделал
Это сообщение отредактировал(а) Connie - 20.3.2009, 20:46 |
|||
|
||||
Turinets |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.2.2009 Репутация: нет Всего: нет |
А чем этот код отличается от предыдущего? Или это намер, что у автора Линукс какой-то не такой?(Точнее Java на нем).
У меня под виндой такая фигня была: если ракать после setResizable(false), то размеры получается 200, 200. А если до, то 202, 202 (т.е. на 2 пиксела больше). |
|||
|
||||
Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 8 Всего: 9 |
Ничем, и мой и пример выше дают одинаковые результаты и перестановка pack не меняет размер |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |