Swing GUI Designer

时间:2016-05-01 20:10:24

标签: java swing reflection

所以我正在制作这个项目,我需要在不同类型的Swing组件(如JButton,JTextArea等)中插入JPanel容器。我的主框架如下所示:Main frame

基本上我有一个文本是用户输入他需要插入的内容(例如一个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。任何帮助都将不胜感激。

0 个答案:

没有答案