- •Листинг 1. Создание окна с текстовым полем ввода
- •If (btName.EqualsIgnoreCase(btYes.GetText())) {
- •На заметку:
- •На заметку:
- •На заметку:
- •На заметку:
- •На заметку:
- •На заметку:
- •На заметку:
- •Листинг 2. Наследование классов компонентов
- •На заметку:
- •На заметку:
- •На заметку:
- •На заметку:
- •На заметку:
- •На заметку:
- •На заметку:
- •1. Чтобы научиться программировать — нужно программировать!
If (btName.EqualsIgnoreCase(btYes.GetText())) {
// Целочисленному полю присваивается значение: age=Integer.parselnt(tf.getText());
// Окно убирается с экрана:
frame.setvisible(false);
// Текст для отображения в окне:
String msg="Добрый день, "+name+"!\n";
msg+="Baш возраст - " + age + " лет!";
// Отображается новое окно:
MessageFrame.show(msg);
}
// Завершение работы:
else System.exit(0);}
// Статический метод для отображения окна для ввода числа:
static void show(String txt,String name){
// Создание анонимного объекта:
new IntlnputFrame(txt,name);} }
// Класс для реализации окна с сообщением:
class MessageFrame implements ActionListener{
// Ссылка на объект окна:
private JFrame frame;
// Ссылка на метку с изображением:
JLabel il;
// Ссылка на метку с текстом: JLabel message;
// Ссылка на кнопку:
JButton button;
// Конструктор класса:
MessageFrame (String msg) {
// Размеры окна:
int width=350,height=150;
// Изображение для пиктограммы метки:
Imagelcon img=new Imagelcon("d:/Books/Files/pict.gif") ;
// Создание объекта окна:
frame=new JFrame(" Сообщение...");
// Определение положения окна и установка его размеров:
frame.setBounds(400, 300,width,height) ;
// Реакция на закрытие через системную пиктограмму:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Отключение менеджера компоновки:
frame.setLayout(null);
// Изображение для пиктограммы окна:
Image icon=frame.getToolkit().getImage("d:/Books/Files/logo.jpg");
// Создание метки с изображением:
il=new JLabel(img);
// Считывание размеров изображения:
int w=img.getlconWidth();
int h=img.getlconHeight() ;
// Положение и размер метки с изображением:
il.setBounds(10,10,w,h);
// Метка с текстом:
message=new JLabel("<html>"+msg.replace("\n","<br>")+"</html>",JLabel.LEFT) ;
// Положение и размеры метки с текстом:
message.setBounds(w+20,10,width-30-w,height/2-10) ;
// Добавление метки с изображением в окно:
frame.add(il);
// Добавление метки с текстом в окно:
frame.add(message);
// Создание кнопки:
button=new JButton("Прочитано!");
// Положение и размер кнопки:
button.setBounds(width/4,3*height/5,width/2,height/6) ;
// Отмена отображения рамки фокуса в кнопке:
button.setFocusPainted(false);
// Регистрация обработчика щелчка на кнопке:
button.addActionListener(this);
// Добавление кнопки в окно:
frame.add(button) ;
// Отмена возможности изменения размеров окна:
frame.setResizable(false) ;
// Применение пиктограммы для окна:
frame.setlconlmage(icon) ;
// Отображение окна:
rrame.setVisible(true);}
// Обработка щелчка на кнопке:
public void actionPerformed(ActionEvent ae){
// Завершение работы:
System.exit(0) ;}
// Статический метод для отображения окна:
static void show(String txt){
// Создание анонимного объекта:
new MessageFrame(txt);}
}
public class UsingFramesDemo{
public static void main(String[] args){
// Отображение окна, для ввода имени:
TextInputFrame.show("Как Вас зовут? Введите имя:");}
}
Командами import javax.swing.*, import java.awt.* и import java.awt.event. * выполняется подключение соответствующих пакетов.
