Java Eclipse пример оконного приложения - создание окна, задание размеров, добавление надписей и кнопок, вывод сообщения
Primary tabs
Forums:
Далее пример урока 8 по программированию на Java.
Это пример содержит 5 классов (в проекте вам надо будет создать пять классов), предварительно создав два пакета пакета.
пакет TestForm
Этот пакет содержит два класса.
класс FormStart (создаёт "рамку", задаёт её размеры и запрашивает холст):
//IT FOR FREE //fkn.ktu10.com; Онлайн-встречи IFF каждый понедельник в 20-20 по мск //(можно задавать вопросы на сайте или онлайн-встречах) package TestForm; import javax.swing.JFrame; import javax.swing.JLabel; public class FormStart { public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); // устанавливае стандартный внешний вид JFrame frame = new JFrame("Здесь заголовок окна"); // желаемый заголовок //Далее создаём поверхность (панель) для размещения компонентов MainFormAppearance demo = new MainFormAppearance(); // внешность формы frame.setContentPane(demo.createContentPane()); // передаем как параметр в коструктор // задаём операцию, которая выполниться при закрытии frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); // задаём размер окна frame.setVisible(true); // форма будет видимой } /* youtube.com/toybattle */ }
класс MainFormAppearance ( в одном своём методе задаёт внешность холста и возвращает ссылку на холст):
package TestForm; import TestActions.*; import javax.swing.*; // импортируем SWING import java.awt.*; // импортируем все подпакеты AWT import java.awt.event.ActionListener; // Класс. который будет описывать внешний вид нашей формы public class MainFormAppearance { public JPanel createContentPane (){ // We create a bottom JPanel to place everything on. // сначала создаётся "панель", на которой и размещаюся // остальные компоненты JPanel totalGUI = new JPanel(); // создаём "поверхность" totalGUI.setLayout(null); // Создадим ярлык (надпись) синего цвета JLabel blueLabel = new JLabel("Какая-то надпись =)"); blueLabel.setLocation(10, 10); /* надпись синего цвета*/ blueLabel.setSize(300, 100); // размер области надписи blueLabel.setHorizontalAlignment(0); blueLabel.setForeground(Color.blue); // задаём цвет totalGUI.add(blueLabel); // добавляем текстовую метку на поверхность // Создаём кнопку--------------- JButton redButton = new JButton("Название кнопки 1 :))"); redButton.setLocation(120, 200); // расположение кнопки redButton.setSize(200,50 ); // размер кнопки // создаём объект-обработчик события ActionListener actionListener = new TestActionListener(); // создаём создаём действие // назначаем этот обработчик кнопке redButton.addActionListener(actionListener);// прикрепляем действие к кнопке (срабоет по нажатии на неё) totalGUI.add(redButton); // добавляем кнопку на поверхность // Создадим ещё одну кнопку------------------------- JButton ParceButton = new JButton("Кнопка 2!"); ParceButton.setLocation(200, 100); // расположение кнопки ParceButton.setSize(100, 30 ); // размер кнопки ActionListener ParceListener = new ParceListener(); // создаём создаём действие ParceButton.addActionListener(ParceListener); // прикрепляем действие к кнопке totalGUI.add(ParceButton); // добавляем на поверхность // 3-я кнопка--------------------------------------- JButton Button3 = new JButton("Кнопка 3"); Button3.setLocation(200, 150); // местоположение Button3.setSize(150, 30); // размер ActionListener CListener = new CsvListener(); // создаём создаём действие типа CsvListener Button3.addActionListener(CListener); // прикрепляем действие к кнопке типа CsvListener к кнопке 3 totalGUI.add(Button3); totalGUI.setOpaque(true); return totalGUI; // возвращаем внешний вид } }
Пакет TestActions.
В этом пакете будут расположены 3 класса-действия (действий), которые мы будем "прикреплять" к создаваемым кнопкам (см. класс выше MainFormAppearance)
Класс CsvListener:
package TestActions; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JOptionPane; // действие для кнопки 3 public class CsvListener implements ActionListener { public void actionPerformed(ActionEvent e) { // нет реализации (никаких действий) //System.exit(1); // если раскомментировать, то будет закрывать программу } }
класс ParceListener:
package TestActions; import javax.swing.JFrame; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class ParceListener implements ActionListener { // реализация интерфейса public void actionPerformed(ActionEvent e) { // задаём текст для сообщения String message = "Кнопка 2 нажата=))"; // выполняем команду вывода сообщения JOptionPane.showMessageDialog(new JFrame(), message, "Message by 2", JOptionPane.ERROR_MESSAGE); } }
Класс TestActionListener:
package TestActions; import javax.swing.JFrame; import javax.swing.JOptionPane; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class TestActionListener implements ActionListener { // наследуемся от стандартного класса ActionListener public void actionPerformed(ActionEvent e) { // выведем сообщение из нескольких строк // одну из них в кавычках String message = "\"строка 1\"\n" + "строка2\n" + "строка 3"; JOptionPane.showMessageDialog(new JFrame(), message, "Несколько строк", JOptionPane.ERROR_MESSAGE); } }
- Log in to post comments
- 29547 reads