Java 使用spring issue制作带有菜单栏的摆动框架

Java 使用spring issue制作带有菜单栏的摆动框架,java,spring,swing,spring-ioc,Java,Spring,Swing,Spring Ioc,我正在使用spring制作一个带有菜单栏的swing框架,我的问题是,当我启动框架时,菜单栏根本没有出现,我将向您展示beans.xml和bean类,请告诉我为什么菜单栏没有出现,我有4个bean,如下所示: menuitembean: public class MyMenuItem extends JMenuItem { private ArrayList<String> menuItemNames; public MyMenuItem() { } public Array

我正在使用spring制作一个带有菜单栏的swing框架,我的问题是,当我启动框架时,菜单栏根本没有出现,我将向您展示beans.xml和bean类,请告诉我为什么菜单栏没有出现,我有4个bean,如下所示:

menuitembean:

public class MyMenuItem extends JMenuItem {
private ArrayList<String> menuItemNames;

public MyMenuItem() {   }

public ArrayList<String> getMenuItemNames() {
    return menuItemNames;
}

public void setMenuItemNames(ArrayList<String> menuItemNames) {
    this.menuItemNames = menuItemNames;
   }
}
框架bean:

public class MainFrame extends JFrame {
/**
 * 
 */
private static final long serialVersionUID = 1L;
private MyMenuBar myMenuBar;

@PostConstruct
public void init(){
    this.add(myMenuBar);        
}

public MainFrame() {
}

public MyMenuBar getMyMenuBar() {
    return myMenuBar;
}

public void setMyMenuBar(MyMenuBar myMenuBar) {
    this.myMenuBar = myMenuBar;
  }
}
这是我的bean配置文件beans.xml:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"

xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd">

<bean id="menuItem" class="com.spring.frame.MyMenuItem" init-method="init">
    <property name="menuItemNames">
        <bean class="org.springframework.beans.factory.config.ListFactoryBean">
            <property name="targetListClass">
                <value>java.util.ArrayList</value>
            </property>
            <property name="sourceList">
                <list>
                    <value>Copy</value>
                    <value>Paste</value>
                    <value>Cut</value>
                </list>
            </property>
        </bean>
    </property>
</bean>
<bean id="menu" class="com.spring.frame.MyMenu" init-method="init">
    <property name="myMenuItem">
        <ref bean="menuItem"></ref>
    </property>
    <property name="menuNames">
        <bean class="org.springframework.beans.factory.config.ListFactoryBean">
            <property name="targetListClass">
                <value>java.util.ArrayList</value>
            </property>
            <property name="sourceList">
                <list>
                    <value>File</value>
                    <value>Edit</value>
                </list>
            </property>
        </bean>
    </property>
</bean>
<bean id="menuBar" class="com.spring.frame.MyMenuBar" init-method="init">
    <property name="myMenu">
        <ref bean="menu" />
    </property>
</bean>
<bean id="frame" class="com.spring.frame.MainFrame" init-method="init">
    <property name="myMenuBar">
        <ref bean="menuBar"></ref>
    </property>
</bean>

java.util.ArrayList
复制
粘贴
切
java.util.ArrayList
文件
编辑

如果代码太长,则表示感谢和抱歉。

setJMenuBar(myMenuBar) 而不是 this.add(myMenuBar)

public class MainFrame extends JFrame {
/**
 * 
 */
private static final long serialVersionUID = 1L;
private MyMenuBar myMenuBar;

@PostConstruct
public void init(){
    this.add(myMenuBar);        
}

public MainFrame() {
}

public MyMenuBar getMyMenuBar() {
    return myMenuBar;
}

public void setMyMenuBar(MyMenuBar myMenuBar) {
    this.myMenuBar = myMenuBar;
  }
}
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"

xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd">

<bean id="menuItem" class="com.spring.frame.MyMenuItem" init-method="init">
    <property name="menuItemNames">
        <bean class="org.springframework.beans.factory.config.ListFactoryBean">
            <property name="targetListClass">
                <value>java.util.ArrayList</value>
            </property>
            <property name="sourceList">
                <list>
                    <value>Copy</value>
                    <value>Paste</value>
                    <value>Cut</value>
                </list>
            </property>
        </bean>
    </property>
</bean>
<bean id="menu" class="com.spring.frame.MyMenu" init-method="init">
    <property name="myMenuItem">
        <ref bean="menuItem"></ref>
    </property>
    <property name="menuNames">
        <bean class="org.springframework.beans.factory.config.ListFactoryBean">
            <property name="targetListClass">
                <value>java.util.ArrayList</value>
            </property>
            <property name="sourceList">
                <list>
                    <value>File</value>
                    <value>Edit</value>
                </list>
            </property>
        </bean>
    </property>
</bean>
<bean id="menuBar" class="com.spring.frame.MyMenuBar" init-method="init">
    <property name="myMenu">
        <ref bean="menu" />
    </property>
</bean>
<bean id="frame" class="com.spring.frame.MainFrame" init-method="init">
    <property name="myMenuBar">
        <ref bean="menuBar"></ref>
    </property>
</bean>