Fork me on GitHub

Java实现点击一个Jlabel增加一个Jlabel的小功能

        当界面生成以后,自己想做一个点击一个Jlabel增加一个Jlabel,即类似于QQ的添加好友以后可以及时的加进一个好友。自己做了好久,发现不能及时刷新。在网上查了一下,然后自己研究了一小会。发现需要validate这个函数重新布局。写了一个这个小功能。

package qq.client.tools;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;@SuppressWarnings("serial")
public class ButtonFrame extends JFrame{
      public ButtonFrame() {//构造函数
      buttonPanel = new JPanel();//创建一个jpanel
      this.setSize(200, 500);//设置窗口的大小
      makeButton();  //调用函数
        
      this.add(buttonPanel);
 }
 
 public void makeButton() {
     JLabel buttonFather = new JLabel("I'm father");//创建一个按钮
     buttonFather.addMouseListener(new MouseListener() {    
    public void mouseReleased(MouseEvent e) {    
    }
    
    @Override
    public void mousePressed(MouseEvent e) {        
    }
    public void mouseExited(MouseEvent e) {    
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseClicked(MouseEvent e) {
        addButton(e);
    }
});
    buttonPanel.add(buttonFather);
 } 
 private void addButton(MouseEvent e) {
  JLabel buttonSon = new JLabel("I'm son");//创建一个标签
  buttonPanel.add(buttonSon);//添加到面板
  this.validate();
 }
 private JPanel buttonPanel; public static void main(String[] args) {
  new ButtonFrame().setVisible(true);
  
 }
}

       跟删除Jlabel一样,没有用那个函数需要自己刷新界面才会出现增加Jlabel。

posted @ 2015-05-06 10:49  鹏&鹏  阅读(3340)  评论(0编辑  收藏  举报