1. 程式人生 > 實用技巧 >JAVA的Swing實現點選事件

JAVA的Swing實現點選事件

MyFrame.java

package swing;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MyFrame extends JFrame {
    JLabel timeLabel= new JLabel("00:00:00");
    JButton button=new
JButton("顯示時間"); public MyFrame(String title){ super(title); //內容面板 Container contentPane=getContentPane(); contentPane.setLayout(new FlowLayout()); //向內容面板新增控制元件 contentPane.add(button); contentPane.add(timeLabel); //創造監聽器物件 //把監聽器註冊給按鈕
button.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { //當按鈕被點選時,Swing框架會呼叫監聽器的actionPerformed()方法 System.out.println("按鈕被點選...."); showTime(); } }); }
public void showTime(){ SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss"); String timestr=sdf.format(new Date()); timeLabel.setText(timestr); System.out.println("時間已更新"); } } package swing; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.SimpleDateFormat; import java.util.Date; public class MyFrame extends JFrame { JLabel timeLabel= new JLabel("00:00:00"); JButton button=new JButton("顯示時間"); public MyFrame(String title){ super(title); //內容面板 Container contentPane=getContentPane(); contentPane.setLayout(new FlowLayout()); //向內容面板新增控制元件 contentPane.add(button); contentPane.add(timeLabel); //創造監聽器物件 //把監聽器註冊給按鈕 button.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { //當按鈕被點選時,Swing框架會呼叫監聽器的actionPerformed()方法 System.out.println("按鈕被點選...."); showTime(); } }); } public void showTime(){ SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss"); String timestr=sdf.format(new Date()); timeLabel.setText(timestr); System.out.println("時間已更新"); } }
SwingDemo.java
package swing;

import javax.swing.*;

public class SwingDemo {
    private static void createGUI(){

        //JFrame指一個視窗,構造方法的引數為視窗標題
        MyFrame frame=new MyFrame("swing demo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //設定視窗的其它引數,如視窗大小
        frame.setSize(400,300);

        //顯示視窗
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                createGUI();
            }
        });
    }
}