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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Программы на заказ
Отзывы
Контакты