Java: центрирование окна
Отцентрировать окно в Java не намного сложнее, чем создать. Ниже приведен код, в котором и делается это.
import javax.swing.*; import java.awt.*; public class Test { public static void main (String args[]) { JFrame jf = new JFrame("Test"); centeringFrame(200, 200, jf); jf.setVisible(true); } private static void centeringFrame (int sizeWidth, int sizeHeight, JFrame frame) { Dimension s = Toolkit.getDefaultToolkit().getScreenSize(); int X = (s.width - sizeWidth) / 2; int Y = (s.height - sizeHeight) / 2; frame.setBounds(X, Y, sizeWidth, sizeHeight); } }По большому счету в этом коде для решения задачи, поставленной в заголовке требуется только один метод - centeringFrame. Он принимает размеры окна (ширину и высоту), а также его название. А на выходе уже сам устанавливает посредине окно.
В первых двух строках происходит подключение библиотек, необходимых для создания окна и определения размеров экрана пользователя. Далее в основном методе в 8-ой строке создаем окно, наследуем его от класса JFrame. Здесь "Test" в JFrame("Test") - это просто заголовок окна; его кстати можно и не делать вообще. В 9-й строке вызываем метод центрирования для созданного окна, а в 10-й - делаем его видимым пользователю.
Просто необходимо сделать одно дополнение. Программа на 100% рабочая. Но, после запуска её и затем закрытия окна по крестику, вы обнаружите, что в процессах остался незавершенный процесс java.exe или javaw.exe - смотря, как вы запускаете программу. Это происходит из-за того, что закрытие окна не вызывает завершения программы. Исправить это можно одной строкой:
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Вставляется данная строка между 9-й и 10-й. После этого внешне ничего не изменится, но после закрытия окна - незавершенный процесс java.exe или javaw.exe благополучно завершится.
Вот так легко и просто создать окно в Java, а также его заставить устанавливаться по центру. Если у вас есть вопросы по программам на java, то вы их можете задать мне, просто отправив вопрос на электронную почту up777up@yandex.ru или скайп up777up2. За скромное вознаграждение в денежном эквиваленте я вам помогу. А также могу написать программу на этом языке, или помочь сделать лабораторную - в общем, все, что необходимо.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Читайте также:
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.