所以我正在制作这个项目,我需要在不同类型的Swing组件(如JButton,JTextArea等)中插入JPanel容器。我的主框架如下所示:
基本上我有一个文本是用户输入他需要插入的内容(例如一个Button),组件出现在JPanel中。这是使用反射动态实现的。我有一个看起来像这样的方法:
enter code here
JComponent createComponent(String compName)
{
try {
Class<?> clazz=Class.forName("javax.swing.J"+compName);
JComponent jComponent=(JComponent) clazz.newInstance();
jComponent.setBounds(lastClick.x, lastClick.y, 100, 32);
snapPanel.add(jComponent);
mover.register(jComponent);
snapPanel.revalidate();
return jComponent;
}catch (Exception e){
e.printStackTrace();
}
return null;
}
我现在需要做的是以下内容:点击我需要的组件后,我需要将其属性显示在右侧Jpanel中,我在其中创建了一个JTable。而且我不仅需要显示属性,还需要能够修改其中的一些属性,例如大小。
我想过使用这个库http://commons.apache.org/proper/commons-beanutils/将组件属性导入到表中,但我没有成功。我认为逻辑应该是:在这一步之后:
Class clazz = Class.forName(&#34; javax.swing.J&#34; + compName);
我需要抓住clazz并以某种方式将其反映到Jtable中。我是这个反思api的新手,不知道如何继续。我也没有多少经验来构建默认的DefaultTableModel。任何帮助都将不胜感激。