📄 buttongroups.java
字号:
//: c13:ButtonGroups.java
// Uses reflection to creats groups
// of different types of AbstractButton.
// <applet code=ButtonGrups
// width=500 height=300></applet>
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.lang.reflect.*;
import com.bruceeckel.swing.*;
public class ButtonGroups extends JApplet
{
static String[] ids = {
"June", "Ward", "Beaver",
"Wally", "Eddie", "Lumpy"
};
static JPanel makeBPanel(Class bClass, String[] ids)
{
ButtonGroup bg = new ButtonGroup();
JPanel jp = new JPanel();
String title = bClass.getName();
title = title.substring(title.lastIndexOf('.') + 1);
jp.setBorder(new TitledBorder(title));
for (int i=0; i<ids.length; i++)
{
AbstractButton ab = new JButton("failed");
try
{
// Get the dynamic constructor method
// that takes a String argument;
Constructor ctor = bClass.getConstructor(
new Class[] {String.class});
//Create a new object;
ab = (AbstractButton)ctor.newInstance(
new Object[] {ids[i]});
}
catch(Exception ex)
{
System.err.println("can't creat " + bClass);
}
bg.add(ab);
jp.add(ab);
}
return jp;
}
public void init()
{
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
cp.add(makeBPanel(JButton.class, ids));
cp.add(makeBPanel(JToggleButton.class, ids));
cp.add(makeBPanel(JCheckBox.class, ids));
cp.add(makeBPanel(JRadioButton.class, ids));
}
public static void main(String[] args)
{
Console.run(new ButtonGroups(), 500, 300);
}
}///:~
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -