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。
作者:鹏鹏
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题请联系906522957@qq.com