JAVA的Swing實現點選事件
阿新 • • 發佈:2020-09-10
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=newJButton("顯示時間"); 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(); } }); } }