![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| XClan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 14.10.2003 Где: Планета Сириус Репутация: нет Всего: 3 |
При запуске нескольких программ написанные на java запускаются акурат всегда на верхнем левом углу.. Меня интересует как сделать так чтобы при запуске второй программы , она была бы за пределом запущенного окна..
Например как в UNIX запускаешь xterm оно если открыть, то открывается не в том же месте, где уже запущена, а рядом.. То есть вижу теперь два окна.. Как исправить??? А то жутко не удобно работать.. Так как запуская новые просто закрываешь от глаз предыдущую.. -------------------- rm -rf /bin/laden |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Frame.setLocation(int,int) не подходит?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| XClan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 14.10.2003 Где: Планета Сириус Репутация: нет Всего: 3 |
Это если уже знаешь, что запущена, а если не знаешь??
-------------------- rm -rf /bin/laden |
|||
|
||||
| XClan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 14.10.2003 Где: Планета Сириус Репутация: нет Всего: 3 |
Для представления ..
Если в виндах запускаешь несколько блокнотов , то они не накладываются каждый раз на себя, а запускаются рядом... видно сразу несколько, точно также и в UNIX с xterm... А в моем случае если запустить 3-4-6 программ , которые написал, она клеются всегда на друг друга и всегда вновь запущенные программы закрывают предыдущие запущенные и я их не вижу.. А метод
Где 260 и 130 размеры окна.. не очень удобен, он всегда будет в середине и вновь запущенные программы его просто закроют.. Что не удобно.. А так запустилась первая ( пусть первая будет в левом углу) , то вновь запущенная та же программа могла бы запустить себя и отображаться чуть ниже ранее запущенной, чтобы я видел что их 2 или 10.. Вот эб этом и речь, не вижу способ лечения.. Это сообщение отредактировал(а) XClan - 14.7.2005, 10:35 -------------------- rm -rf /bin/laden |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: нет Всего: 13 |
геморойны способ:
А что если каждый раз раз при открытии окна приложения записовать его координаты куда нить (например в файл), если в файле 0.0 то открываем с координатами 10,10, и записываем в него новые координаты. далее всё будет повторяться -------------------- |
|||
|
||||
| Metal_Heart |
|
|||
|
а почему бы и нет? ![]() ![]() Профиль Группа: Участник Сообщений: 728 Регистрация: 31.3.2005 Где: Москва Репутация: 1 Всего: 12 |
также придется хранить историю открытия и закрытия, иначе есть вероятность, что следующие окна окажутся за экраном
либо ограничить максимально нижнее положение Это сообщение отредактировал(а) Metal_Heart - 14.7.2005, 11:05 -------------------- не стыдно учиться, а стыдно не учиться |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: нет Всего: 13 |
ну да, а если достиг максимума можно начинать сверху, с большим(ударение на "о") смещением вправо
-------------------- |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Если они все запускются из-под одной JVM, то можно сделать статик поле. Ну а если нет - тогда, наверное, только через взаимодействие с осью (файлы, реестр, etc)
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| XClan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 434 Регистрация: 14.10.2003 Где: Планета Сириус Репутация: нет Всего: 3 |
Можно спросить, а как с помощью статик поле делать???
-------------------- rm -rf /bin/laden |
|||
|
||||
| batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
Я имею в виду примерно следующее:
Есть у тебя класс окна, в котором ты выполняешь этот свой код:
Преобразуем его в такой:
C каждым открытым окном x_offset и y_offset будут увеличиваться на 20, а твое окно - сдвигаться. Надо только проконтролировать ситуацию, когда окно дойдет до края экрана. Это сообщение отредактировал(а) Lamer George - 14.7.2005, 12:40 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
| igon |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 30.10.2004 Репутация: 7 Всего: 21 |
1. Math.random()
2. Вариант DEER, но с использованием Properties: гемор чуть меньше Вариант со static, ИМХО, вне конкуренции -------------------- Хотите поговорить об этом? |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: нет Всего: 13 |
А ещё надо подумать про закрытие окна, ведь счётчики надо уменьшать....
Надо как то узнавать что окно самое "молодое", и если это так то уменьшать счетчики -------------------- |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 7 Всего: 151 |
А зачем? Пускай бы так себе и открывались со смещением вниз и вправо. Но, конечно, тут как хочется - так и делай. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| chief39 |
|
|||
![]() карманная тигра ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1631 Регистрация: 20.5.2005 Где: Киев Репутация: нет Всего: 77 |
Если уж так всё серьёзно - тогда сделай статиком какой-нить Arraylist где все окна будут регистрироваться. Но тогда поимеешь проблем с расчётом какое из них закрылось.... ты хочешь впихивать новое в пробел который образовался, при закрытии не последнего и не первого окна? Или открывать в левом верхнем если все предыдущие закрыл? - тогда проверяй эррейлист на наличие там окон. И не забывай их там разрегистрировать по закрытию Кажется это лишнее..... Сделай со статиком оффсетом - доходит до края экрана(сам подсчитай) - начинает заново... Тысячи окон ты корректно не разместишь... да и не надо, мне кажется. P.S. Блокнот тоже, кажется, доходит до предела и начинает заново... Правда у меня он сейчас открывается тютелька в тютельку над другим... Хотя.... это из-за Астона скорее всего. -------------------- Люди - это свечи. Они либо горят, либо их - в жопу!(с) |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Если используешь JDK 1.5, то воспользуйся frame.setLocationByPlatform(true). Оно делает именно то что ты хочешь:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "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. |