Отправляет email-рассылки с помощью сервиса Sendsay

Изучаем язык Java

  Все выпуски  

Изучаем язык Java


Новое на сайте Программирование - это просто! (www.easyprog.ru):

В платном разделе

В бесплатном разделе

Java для чайников. Урок 36. Пишем калькулятор. Начало.

Сегодня мы начнем писать на Java простейший калькулятор. Для начала давайте попробуем создать некую заготовку, в которой у нас будут кнопочки и поле ввода:

import java.awt.*;

import java.applet.*;

 

 

public class Calculator extends Applet {

    String str;

    TextField display;

   

    public void init()  {

   

        str="";

   

        display=new TextField(30);

        add(display);

       

        for (int i = 0; i <= 9; i++) {

            Button myButton=new Button(""+i);

            add(myButton);

        }      

 

        resize(400,200);

    }

   

   

    public boolean action(Event evt, Object arg) {

       

        str=str+arg;

        display.setText(str);

        repaint();

        return true;

 

    }

   

    public boolean keyDown(Event evt, int key)

    {

        return false;

    }

   

    public static void main(String[] args)

    {

        //Создаем фрейм - окно приложения. Для апплета фреймом является браузер

        //а тут нам надо его создавать

        Frame f=new Frame("Пример приложения");

       

        //Создаем приложение

        Calculator app=new Calculator();

       

        f.add("Center",app);

        f.resize(400,200);

       

        //отобразим окно

        f.show();

       

        //вызовем методы, которые в случае апплета вызывает браузер

        app.init();

        app.start();

    }

   

}

Скомпилировав и запустив данную программу, мы увидим:

Java для чайников. Урок 36. Пишем калькулятор. Начало.

Сразу возникает вопрос: а нельзя ли как-то выровнять эти кнопки. На этот вопрос я отвечу в будущих уроках. А сейчас изучим альтернативу классу Frame. Класс JFrame. Вообще, класс Frame отвечает за формирование окна приложение. JFrame - тоже самое, но  это гораздо более продвинутый класс. Давайте рассмотрим пример:

import java.awt.Dimension;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class Proba {

    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);

    }

   

    public static void main(String[] args) {

        javax.swing.SwingUtilities.invokeLater(new Runnable() {

            public void run() {

                createGUI();

            }

        });

    }

}

И вот что мы увидим, запустив данную программу:

Java для чайников. Урок 36. Пишем калькулятор. Начало.

Первое отличие приложения на JFrame от Frame - его можно закрыть по "крестику".

 

(С) Шуравин Александр

 

 


В избранное