Урок 2. Пишем игру на JAVA.

отрисовка окна JFrame

Часть 1.Компонет JFrame. Создаем главное окно Игры.

Каждое десктопное приложение должно иметь окно. В этом окне будут располагаться все необходимые компоненты графического интерфейса пользователя, посредством которых пользователь будет работать с приложением. Попробуем создать окно нашего приложения и разместить там что-нибудь. Пока что наше приложение будет простым и незамысловатым. Для создания окна приложения в Swing используется класс JFrame. Он содержит ряд методов и свойств, которые позволяют настроить его должным образом. Рассмотрим пример.

Код программы

// файл SwingDemo.java имя файла и класса должны совпадать
// Ваша следующая программа на JAVA

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

public class SwingDemo {

public static void createGUI() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame(«Test frame»);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel(«Test label»);
frame.getContentPane().add(label);
frame.setPreferredSize(new Dimension(200, 100));
frame.pack();
frame.setVisible(true);
}

// Выполнение приложения Java начинается с метода main
public static void main (String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createGUI();
}
});
} // конец метода main
}// конец класса SwingDemo

отрисовка окна JFrame

Это самое простое Swing приложение. Данный код создаст приложение, внешний вид которого представлен на рисунке. Рассмотрим код более детально. Каждое приложение должно содержать статический метод main – точка входа приложения, именно с него начинается выполнение.

Далее выполняется создание графического интерфейса пользователя. Создание графического интерфейса пользователя непременно должно происходить в Event dispatch потоке. Для этого метод вызывается внутри определенного вида конструкции SwingUtilities. Перейдем к непосредственному созданию и размещению компонентов.

Самой первой строкой метода createGUI мы говорим системе, чтобы окно полностью рисовалось Swing. Если закомментировать этот код, то окно будет определяться самой операционной системой – Swing доверит рисовать окно ей. Далее создаем само окно и указываем текст, который будет располагаться в его заголовке. С помощью метода setDefaultCloseOperation мы говорим системе, как отреагировать на закрытие окна. Сейчас нам необходимо, чтобы при закрытии окна закрывалось и приложение. Для этого мы передаем параметр JFrame.EXIT_ON_CLOSE. Но когда-нибудь необходимо будет не закрывать приложение, а закрыть только окно и оставить выполняться его в фоновом режиме, тогда мы будем передавать этому методу другой параметр.

Далее создаем текстовый лейбл с помощью JLabel, указывая при этом какой текст мы хотим в нем видеть, и размещаем на форме. При размещении компонента в окне тоже есть одна хитрость. У объекта JFrame есть специальная панель content pane, на которой должны размещаться все остальные дочерние компоненты. С помощью вызова getContentPane мы получаем эту панель и добавляем лейбл уже на нее. Далее устанавливаем размер окна и показываем его пользователю.