Swing概述
Swing典型组件
  JFrame    
  Swing按钮、菜单和工具条
  Swing标准对话框
  表格和树
  定时器

JFrame实现了java.swing.WindowConstants接口
Eg:
import java.awt.Color;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class TestJFrame {

   public static void main(String[] args) {
    JFrame jf = new JFrame( "JFrame");
    JButton b1 = new JButton( "Start");
    JButton b2 = new JButton( "Stop");
    
    jf.add(b1);
    jf.add(b2);
    jf.setBackground(Color.blue);
    jf.setLayout( new FlowLayout(FlowLayout.CENTER,20,20));
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //默认的退出方式
    jf.setLocation(400, 300);
    jf.setSize(300, 200);
    jf.setVisible( true);
//    jf.dispose();
  }

}

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;

public class TestTime {

   public static void main(String[] args) {
    JFrame f =     new JFrame( "Time");
    Button b1 = new Button( "Start");
    Button b2 = new Button( "Stop");
    JLabel click = new JLabel( "显示日期");
    
    f.add(b1);
    f.add(b2);
    f.add(click, "North");
    click.setOpaque( true);
    click.setDefaultLocale( null);
    click.setBackground(Color.LIGHT_GRAY);
    
    f.setSize(400, 400);
    b1.setBackground(Color.green);
    b2.setBackground(Color.cyan);
    f.setLocation(400, 300);
    f.setBackground(Color.blue);
    f.setLayout( new FlowLayout(FlowLayout.CENTER,20,20));
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //默认的退出方式
    f.setVisible( true);
    
    MyListener m = new MyListener(click);
    Timer t = new Timer(1000,m);
    t.restart();
  }

}

   class MyListener implements ActionListener{

     private JLabel click;
    

     public MyListener(JLabel click) {
       this.click = click;
    }

    @Override
     public void actionPerformed(ActionEvent e) {
      Date d = new Date();
      Calendar c = new GregorianCalendar();
      String time = c.get(Calendar.YEAR)+ "-"+c.get(Calendar.MONTH)+ "-"+c.get(Calendar.DATE);
       int h = c.get(Calendar.HOUR_OF_DAY);
       int m = c.get(Calendar.MINUTE);
       int s = c.get(Calendar.SECOND);
      time += "\n time:"+h + ": "+m + ": "+s;
      click.setText(time);
      System.out.println(d);
      click.repaint();
    }
  }

Swing概述
Swing典型组件
  JFrame    
  Swing按钮、菜单和工具条
  Swing标准对话框
  表格和树
  定时器

JFrame实现了java.swing.WindowConstants接口
Eg:
import java.awt.Color;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class TestJFrame {

   public static void main(String[] args) {
    JFrame jf = new JFrame( "JFrame");
    JButton b1 = new JButton( "Start");
    JButton b2 = new JButton( "Stop");
    
    jf.add(b1);
    jf.add(b2);
    jf.setBackground(Color.blue);
    jf.setLayout( new FlowLayout(FlowLayout.CENTER,20,20));
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //默认的退出方式
    jf.setLocation(400, 300);
    jf.setSize(300, 200);
    jf.setVisible( true);
//    jf.dispose();
  }

}

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.Timer;

public class TestTime {

   public static void main(String[] args) {
    JFrame f =     new JFrame( "Time");
    Button b1 = new Button( "Start");
    Button b2 = new Button( "Stop");
    JLabel click = new JLabel( "显示日期");
    
    f.add(b1);
    f.add(b2);
    f.add(click, "North");
    click.setOpaque( true);
    click.setDefaultLocale( null);
    click.setBackground(Color.LIGHT_GRAY);
    
    f.setSize(400, 400);
    b1.setBackground(Color.green);
    b2.setBackground(Color.cyan);
    f.setLocation(400, 300);
    f.setBackground(Color.blue);
    f.setLayout( new FlowLayout(FlowLayout.CENTER,20,20));
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //默认的退出方式
    f.setVisible( true);
    
    MyListener m = new MyListener(click);
    Timer t = new Timer(1000,m);
    t.restart();
  }

}

   class MyListener implements ActionListener{

     private JLabel click;
    

     public MyListener(JLabel click) {
       this.click = click;
    }

    @Override
     public void actionPerformed(ActionEvent e) {
      Date d = new Date();
      Calendar c = new GregorianCalendar();
      String time = c.get(Calendar.YEAR)+ "-"+c.get(Calendar.MONTH)+ "-"+c.get(Calendar.DATE);
       int h = c.get(Calendar.HOUR_OF_DAY);
       int m = c.get(Calendar.MINUTE);
       int s = c.get(Calendar.SECOND);
      time += "\n time:"+h + ": "+m + ": "+s;
      click.setText(time);
      System.out.println(d);
      click.repaint();
    }
  }