Java поставляетсясбольшим количествомполезныхклассов,которые организованыв пакеты (packages ).Некоторые пакеты содержатклассы длярисованияграфики ,другие – классыдляработыс интернетомитак далее. Например, класс String находится в пакете с названием java.lang иполноеи мяэтогокласса java.lang.String.
String
java.lang
,
Компилятор Java знает, гденайтиклассы,находящиесяв
поэтому я
не указывал
явно полное имя
в
предыдущих
примерах кода , но существует много других
пакетов
с полезными
классами и ваша задача сообщить ко
мпилятору, в каком пакете
содержатся
классы ,
используемые
в
программе.
Например,
большинство классов библиотеки Swing находятся в следующих двух пакетах:
javax.swing
javax.swing.event
Было бы очень утомительно каждый раз , когда используется класс ,
писать его полное имя. Чтобы избежать этого , вы можете написать
ключевоеслово import всегоодинразпередобъявлениемкласса,как
показановпримере:
import javax.swing.JFrame;import javax.swing.JButton;
class Calculator{
JButton myButton = new JButton();
JFrame myFrame = new JFrame();
}
Ключевое слово import позволяет использовать короткие имена классов, такиекак JFrame или JButton исообщаеткомпилятору , где искатьэтиклассы.
Если нужно использовать несколько классов из одного
import
пакета, нет
необходимостиперечислятькаждыйизних в строкес
, можно
avax.swing
находимыми
просто использовать символ *. В следующем примере с помощью
звёздочки,всеклассыиз j
становятся
:
import javax.swing.*;
ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
Темнеменее,лучшеиспользоватьотдельные операторы import для каждогокласса.Этопозволяет быстрее видеть,какойкласс импортируетсяизкакого пакета.Тема пакетов будетосвещенаболее подробнов главе10.
ОсновныеэлементыSwing
Вотнекоторыеосновныеобъекты,изкоторыхсостоятSwing
приложения:
• Окноилифрейм( frame), которыйможетбытьсозданспомощью класса JFrame.
(оконноестекло)
panel)
или, как ещё её называют,
pane
Невидимая панель (
JPanel
содержитвсекнопки,текстовыеполя,меткии
компоненты. Панели с оздаются с помощью
класса
другие
.
• Оконныеэлементыуправления,такиекаккнопки JButton, текстовыеполя JTextfield,списки JList,итакдалее.
• Схемыразмещения (layout managers) компонент,которыепомогаюторганизоватьвсеэтикнопкииполянапанели.
Например, можносоздать
экземпляркласса
JPanel
графические
иназнач ить для
него схему размещения .
Затем созда йте
различные
компоненты идобав ьте ихнапанель.Послеэтогодобав ьте панельна
ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
фрейм, зада йте его размер и
сделайте его видимым.
Но отображение фрейма это только половина работы. Нужно ещё добавитьобработкуразличныхсобытий,напримернажатийнакнопки.
В этой главе я расскажу, как создавать окна с компонентами , а в следующей – обрабатыватьсобытия( events ),которыемогутпроизойти скомпонентамиокна.
Наша основная цель в этой главе – написать калькулятор, который
позволяет сложить два числа и увидеть результат. Создайте новый
проект в Eclipse, назовите его My Calculator и добавьте в него новый
класс SimpleCalculator соследующимкодом:
ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
importjavax.swing.*;
importjava.awt.FlowLayout;
public class
SimpleCalculator {
public static voidmain(String[] args) {
// Создаём
панель
JPanel
windowContent= new JPanel();
//Задаёмменеджеротображени
ядляэтойпанели
FlowLayout
fl = new
FlowLayout();
windowContent.setLayout(fl);
// Создаём
компоненты в
памяти
JLabel
label1 = new
JLabel("Number 1:");
JTextField
field1 =
newJTextField(10);
JLabel
label2 = new
JLabel("Number 2:");
JTextField
field2 =
newJTextField(10);
JLabel
label3 = new
JLabel("Sum:");
JTextField
result =
newJTextField(10);
JButton go
= new JButton("Add");
//Добавляемкомпонентынапанель
windowContent.add(label1);
windowContent.add(field1);
windowContent.add(label2);
windowContent.add(field2);
windowContent.add(label3);
windowContent.add(result);
windowContent.add(go);
//Создаёмфрейизадлянегоаёмпанель
JFrame frame = new JFrame("My First Calculator"); frame.setContentPane(windowContent);
// задаём и размер и делаем фрейм видимым
frame.setSize(400,100); frame.setVisible(true );
}
}
Скомпилируйтеизапуститеэтупрограмму.Должнопоявитьсяокно следующеговид а:
ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
Это, можетбыть , несамыйкрасивыйвмирекалькулятор,нов данном примере видно , как добавлять компоненты и отображать окно. В следующейсекциимыпопробуемсделатьболеекрасивыйинтерфейсс помощью схемразмещения .