Отже, ви завантажили
Eclipse та запустили
його. Перше, що необхідно зробити це створити новий проект під назвою «Man Versus Blocks». Для цього
натисніть на File – New – Java project. Після цього введіть назву проекту та
натисніть Finish. Там також
можна додатково налаштувати проект, але зараз це не потрібно.
Давайте створимо перший клас, який буде головним.
Оскільки, він буде запускатися першим, то давайте він буде знаходитися в пакеті
“run”. Значить
натискаємо правою кнопкою по проекту та вибираємо New – Package і вводимо
назву “run”. Після цього IDE створе нову папку у файловій системі і у
менеджері проекту її буде видно. Тепер клацаємо по цій попці і вибираємо New – Class. Вводимо
назву Main та ставимо галочку навпроти public static void main(String[] args). Це згенерує нам необхідний код для запуску
програми. У класі пишемо цей код:
package run;
import
javax.swing.JFrame;
public class Main {
public static void main(String[]
args)
{
JFrame
jf = new JFrame("Man versus blocks");
jf.setSize(700,
700);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}
Перша стрічка коду
вказує на пакет у якому знаходиться клас, у нашому випадку це run. Друга стрічка імпортує клас JFrame, який знаходиться у пакеті javax.swing . У Java є дві бібліотеки для виведення графічних
елементів управління це AWT та Swing, ми будемо використовувати другу, тому що
вона є новішою та біль красива і ще платформо-незалежна. Далі ми оголошуємо
клас Main. Ключове слово class вказує, що це клас, public вказує на те, що він доступний у інших
пакетах, якщо ми це не вкажемо, то цей клас буде доступний тільки у пакеті в
якому він оголошений. Далі ми відкриваємо блок класу і описуємо метод main. Цей метод є вхідною точкою програми, тобто
програма розпочинає свою роботу саме з нього. Він обов’язково має бути
публічним та статичним. У методі public означає, що метод доступний за класом, а static означає, що для виклику цього методу не
потрібно створювати екземпляр класу (це ще називають «метод типу», тому що
кожний клас це тип). Ми передаємо один аргумент у цей клас, це масив стрічок.
Його заповнює операційна система, коли ми запускаємо програму з консолі та
вказуємо параметри після назви. Далі ми оголошуємо зміну типу JFrame. Цей клас імплементує (реалізує) фрейм, у
операційних системах для PC це звичайне вікно. У конструкторі цього класу ми передаємо стрічку, яка
слугує назвою фрейму. Далі вказуємо розміри вікна (700х700), та операцію, яка
буде виконуватися при закриті фрейму, тобто вихід із програми. І в кінці
встановлюємо фрейм видимим. Отже, можна запусти програму натиснувши клавішу F11. Ви повинні побачити вікно з заданим розміром та назвою.
Взагалі всі назви
класів Swing розпочинаються
із “J”,
а відповідні класи з AWT без цієї букви.
Тепер давайте
приготуємо цей клас до вигляду який нам потрібно. Для початку потрібно винести
зміну jf із методу до класу, щоб ми в майбутньому
могли оперувати вікном.
private static JFrame jf = null;
Це потрібно написати перед
методом main. Зверніть увагу
на static, це необхідно
тому що статичні методи можуть оперувати тільки статичними полями.
У методі main замініть стрічку
JFrame jf = new JFrame("Man
versus blocks");
на
Main.jf = new JFrame("Man
versus blocks");
Main перед jf можна не вказувати, але так краще, тому що каже нам, що
це поле класу
Також щоб ми могли додавати багато елементів до вікна потрібно створити
панель, її вставити у вікно, а вже у панель будемо вставляти все що необхідно.
Тому після оголошення jf пишемо:
private static Panel panel = new Panel(new
GridLayout(1,1));
Також натисніть комбінацію клавіш Ctrl+Shift+O, це додає імпортує необхідні класи, пакети та
вилучає непотрібні. У нашому випадку.
Ця стрічка створює панель з розташуванням елементів у
таблиці, яка складається з однієї комірки (1х1).
Також необхідно створити панель для меню, тому що воно
завжди буде однаковим
private
static Panel menu
= null;
І ще створимо
методи доступу до цих полів:
public static JFrame
getFrame(){
return Main.jf;
}
public static Panel
getPanel(){
return Main.panel;
}
public static Panel getMenu(){
return Main.menu;
}
І ще зробимо метод
для повернення до головного меню:
public static void
ExitToMainMenu(){
Main.panel.removeAll();
Main.panel.add(Main.menu);
}
Тепер необхідно вставити 5 кнопки у наш фрейм. Для цього треба дописати у метод main наступний код (потрібно вставити після ініціалізації jf та перед jf.setSize(700, 700); ):
Main.menu = new Panel();
Main.panel.add(Main.menu);
Main.menu.setLayout(new BoxLayout(Main.menu, BoxLayout.Y_AXIS));
Button
quickGame = new Button();
quickGame.setLabel("Quick
Game");
Main.menu.add(quickGame);
Button
loadArena = new Button();
loadArena.setLabel("Load
Arena");
Main.menu.add(loadArena);
Button
replay = new Button();
replay.setLabel("Replay");
Main.menu.add(replay);
Button
editor = new Button();
editor.setLabel("Editor");
Main.menu.add(editor);
Button
exit = new Button();
exit.setLabel("Exit");
Main.menu.add(exit);
jf.add(Main.panel);
Для початку ми ініциалізуємо menu та додаємо його до головної панелі. Меню вказуємо, яку компоновку будемо
використовувати BoxLayout. Ця компоновка додає елементи підряд, стандартно вона
додає по горизонталі, але наші кнопки повинні бути вертикально, тому вказуємо
вертикальне заповнення BoxLayout.Y_AXIS. Далі Створюємо 5 кнопок з відповідним текстом у них і
додаємо до меню. Метод класа Buttin setLabel(String) вказує текст кнопки.
Після цього додаємо головну панель до вікна. При запуску ви повинні
побачити таке вікно:
Ось повний текст класу:
package run;
import java.awt.Button;
import
java.awt.GridLayout;
import java.awt.Panel;
import
javax.swing.BoxLayout;
import
javax.swing.JFrame;
public class Main {
private static JFrame jf = null;
private static Panel panel = new Panel(new GridLayout(1,
1));
private static Panel menu = null;
public static void main(String[]
args)
{
Main.jf = new JFrame("Man
versus blocks");
Main.menu = new Panel();
Main.panel.add(Main.menu);
Main.menu.setLayout(new BoxLayout(Main.menu, BoxLayout.Y_AXIS));
Button quickGame = new Button();
quickGame.setLabel("Quick
Game");
Main.menu.add(quickGame);
Button loadArena = new Button();
loadArena.setLabel("Load
Arena");
Main.menu.add(loadArena);
Button replay = new Button();
replay.setLabel("Replay");
Main.menu.add(replay);
Button editor = new Button();
editor.setLabel("Editor");
Main.menu.add(editor);
Button exit = new Button();
exit.setLabel("Exit");
Main.menu.add(exit);
jf.add(Main.panel);
jf.setSize(700,
700);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
public static JFrame
getFrame(){
return Main.jf;
}
public static Panel
getPanel(){
return Main.panel;
}
public static Panel
getMenu(){
return Main.menu;
}
public static void
ExitToMainMenu(){
Main.panel.removeAll();
Main.panel.add(Main.menu);
}
}
Тут використовується шаблон проектування Компонувальник.
Його суть у тому, що є загальний інтерфейс або клас який називається компонент,
від якого наслідуються інші класи, і деякі з цих класів можуть містити у собі
другі компоненти. І так можна будувати дерева об’єктів. Більш детальна
інформація за посиланням http://uk.wikipedia.org/wiki/Компонувальник_(шаблон_проектування)

Gambling and gambling are linked in the Gambling and - DrmCD
ВідповістиВидалитиIt's gambling and 광명 출장샵 gambling that can be a huge problem 전주 출장마사지 in every The National Gambling Council says 경상남도 출장안마 that in order to 대구광역 출장안마 provide support, 대전광역 출장안마