//: ButtonGroups.javaimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.lang.reflect.*;public class ButtonGroups extends JApplet {
private static String[] ids = {
"June","Ward","Beaver",
"Wally","Eddie","Lumpy",
};
static JPanel makeBPanel(Class klass, String[] ids) {
ButtonGroup bg = new ButtonGroup();
JPanel jp = new JPanel();
String title = klass.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 {
Constructor ctor =
klass.getConstructor(new Class[]{String.class});
//System.out.println(" ctor: "+ctor);
ab = (AbstractButton)
ctor.newInstance(new Object[] {ids[i]});
//System.out.println(" at: "+ctor+" ids[i]: "+ids[i]);
} catch(Exception ex) {
System.err.println("Can't create "+klass);
}
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,400);
}
}
---------------------------------------------------------------------------
这几条代码是怎么用的,能帮忙解释下吗 Constructor ctor = klass.getConstructor(new Class[]{String.class}); ab = (AbstractButton)ctor.newInstance(new Object[] {ids[i]});
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.lang.reflect.*;public class ButtonGroups extends JApplet {
private static String[] ids = {
"June","Ward","Beaver",
"Wally","Eddie","Lumpy",
};
static JPanel makeBPanel(Class klass, String[] ids) {
ButtonGroup bg = new ButtonGroup();
JPanel jp = new JPanel();
String title = klass.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 {
Constructor ctor =
klass.getConstructor(new Class[]{String.class});
//System.out.println(" ctor: "+ctor);
ab = (AbstractButton)
ctor.newInstance(new Object[] {ids[i]});
//System.out.println(" at: "+ctor+" ids[i]: "+ids[i]);
} catch(Exception ex) {
System.err.println("Can't create "+klass);
}
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,400);
}
}
---------------------------------------------------------------------------
这几条代码是怎么用的,能帮忙解释下吗 Constructor ctor = klass.getConstructor(new Class[]{String.class}); ab = (AbstractButton)ctor.newInstance(new Object[] {ids[i]});
解决方案 »
- 求一个买彩票概率问题
- 关于正则表达式的一个小小的入门问题
- jFrame打开新窗体,并关闭当前窗体
- 【散分】[PoemCode]八句话考你是不是理解==和boxing/unboxing
- java中这样定义结构体可以不??
- 如何使用JavaMail实现电子邮件的发送?
- 关于java实现MP3的播放?
- 也不让搜索了,各位帮个忙,很幼稚的基础问题.(正在写程序用到这了,急需答案)
- 只知道文件名,如何用java求得此文件的相对和绝对路径?
- 为何不能浏览从javax.JApplet继承下来的Applet,而从java.Applet继承下来的却可以正确浏览!
- 一个简单的问题!!!!
- 关于JTabbedPanel的问题
每个对象都有自己的class,通过此class可以得到该对象的类别,方法,参数等等信息