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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как открыть окно в центре экрана 
:(
    Опции темы
AntonSaburov
Дата 2.11.2004, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Вот пример:

Код

import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;


public class CenterFrame extends JFrame
{
  private static final int D_HEIGHT = 100;   // высота
  private static final int D_WIDTH = 100;   // ширина

  public CenterFrame()
  {
    // Получаем размеры экрана
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    // А теперь просто помещаем его по центру, вычисляя координаты на основе полученной информации
    setBounds(((int)d.getWidth() - this.D_WIDTH) / 2, 
       ((int)d.getHeight() - this.D_HEIGHT) / 2, this.D_WIDTH, this.D_HEIGHT);
  }

  public static void main(String[] args)
  {
    CenterFrame cf = new CenterFrame();
    cf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    cf.setVisible(true);
  }
}


Кроме того у Dimension есть поля height и width типа int.

Спасибо большое LSD за интересное замечание

Есть более простой способ, но он работает начиная с JDK 1.4 setLocationRelativeTo(Component), если Component == null то центрируется относительно экрана, иначе относительно этого компонента.

Код

import javax.swing.*;

public class MainClass extends JFrame
{
    public MainClass()
    {
      setBounds(0,0,400,400);
      setLocationRelativeTo(null);  // Если это строки не будет, окно будет в левом верхнем углу
    }

    public static void main(String[] args)
    {
        MainClass mainClass = new MainClass();
        mainClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mainClass.setVisible(true);
    }
}

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

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

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


 




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


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

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