Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Простое приложение для Swing


Автор: AntonSaburov 2.11.2004, 13:12
Вопрос: С чего начать, чтобы написать простое приложение для Swing

Ответ:

Данный пример демонстрирует создание простой формы к текстовым полем, которое показывает текущее время. В конструкторе класса также создается отдельный анонимный поток, который отвечает за обновление времени на форме.

Вы можете обратить внимание, что отдельный поток, который будет отслеживать время, является анонимным, т.е. создается "на лету" и не имеет имени. Такая конструкция достаточно часто используется в JAVA.

Собирать пример простым запуском:
javac Clock.java

Запуск:
java Clock

Код

import java.util.Calendar;
import java.text.SimpleDateFormat;

import java.awt.Font;

import javax.swing.SwingConstants;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Clock extends JFrame
{
  private JLabel m_time;
  private Thread m_thr;

  public Clock()
  {
     m_time = new JLabel();
     m_time.setHorizontalAlignment(SwingConstants.CENTER);
     m_time.setFont(new Font("Default", Font.BOLD+Font.ITALIC, 24));

     getContentPane().add(m_time);
     setBounds(0,0,300,100);

     m_thr = new Thread() {
       public void run() 
       {
         while(true) {
           setTime();
           try {
             Thread.sleep(500);
           }
           catch(Exception e) {}
         }
       }
     };
     m_thr.start();
  }

  public void setTime()
  {
     SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
     m_time.setText(df.format(Calendar.getInstance().getTime()));
  }

  public static void main(String[] args)
  {
     Clock cl = new Clock();
     cl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     cl.setVisible(true);
  }
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)