图形用户界面(一)GUI元素

来源:互联网 发布:域名反向解析命令 编辑:程序博客网 时间:2024/06/07 06:25

在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就像一个房间,东西放在房间里

 

图形化的东西有种特殊的吸引力,毕竟是能看到的实实在在的东西。

原创粉丝点击