展开全部
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class JLabelCountDemo extends JFrame implements ActionListener {
private static final long serialVersionUID = -1049841377392045105L;
private JButton button = new JButton("随机生成JLabel");
private JButton button2 = new JButton("获取32313133353236313431303231363533e78988e69d8331333332623433JLabel数目");
private JPanel panel = new JPanel();
public JLabelCountDemo() {
super("获取JLabel数目");
try {
init();
} catch (Exception e) {
e.printStackTrace();
}
}
private void init() {
Container c = getContentPane();
c.setLayout(new BorderLayout());
panel.setLayout(new FlowLayout());
c.add(panel, BorderLayout.CENTER);
c.add(button, BorderLayout.NORTH);
c.add(button2, BorderLayout.SOUTH);
button.addActionListener(this);
button2.addActionListener(this);
this.setSize(300, 200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public static void main(String[] args) {
new JLabelCountDemo();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button) {
Random random = new Random();
panel.removeAll();
for (int i = 0; i
panel.add(new JLabel("label" + i));
}
this.pack();
this.setSize(300, 200);
}
if (e.getSource() == button2) {
Component[] cmps = panel.getComponents();
int count = 0;
for (Component cmp : cmps) {
if (cmp instanceof JLabel) {
count++;
}
}
JOptionPane.showMessageDialog(null, "panel中含有JLabel数目为:" + count);
}
}
}