圖形用戶界面(一)GUI元素

在Java中建立一個GUI程序至少需要用到這三類對象:

   * 組件

   * 事件

   * 監聽器

 

PushCounter是一個啓動類,只是顯示一個按鈕(標註爲“Push Me!”),按下按鈕,計數器更新顯示最新結果。

 

效果如圖:

         

 

源程序如圖:

 // PushCounter.java   
 //演示一個圖形化的用戶接口和監聽器

import javax.swing.JFrame;

public class PushCounter {


    // 建立一個展示框架
    public static void main(String[] args){


          JFrame frame = new JFrame("Push Counter");
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
          PushCounterPanel panel = new PushCounterPanel();
          frame.getContentPane().add(panel);


          //pack方法根據框架中的內容把框架設置成合適的尺寸
          frame.pack();
          frame.setVisible(true);
   }
}

 

 

 

//PushCounterPanel.java   


import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;

 

public class PushCounterPanel extends JPanel {
    private int count; 
    private JButton push; 
    private JLabel label;
 
   public PushCounterPanel(){
       count = 0;
  
       push = new JButton("Push Me!");
       push.addActionListener(new ButtonListener());
  
      label = new JLabel("Pushes: " + count);
  
      add(push);
      add(label);
  
      setBackground(Color.cyan);
      setPreferredSize(new Dimension(300, 40));
  }
 
  // 當按鈕按下時更新標籤

  private class ButtonListener implements ActionListener{

 
      public void actionPerformed(ActionEvent arg0) {
          count ++;
          label.setText("Pushes: " + count);
      }
  
  }
}

 

這個程序中使用的組件包括:一個按鈕、顯示計數的標籤、容納按鈕和標籤的面板,以及顯示面板的框架。

 

JFrame就像一座樓,panel就像一個房間,東西放在房間裏

 

圖形化的東西有種特殊的吸引力,畢竟是能看到的實實在在的東西。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章