<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!--
JFrame mianWin = new JFrame("我的窗口");
JTextArea jta= new JTextArea(24, 80);
mianWin.add(new JScrollPane(jta));
JPanel jp = new JPanel();
mianWin.add(jp, BorderLayout.SOUTH);
JButton okBn = new JButton("确认");
jp.add(okBn);
JButton cancelBn = new JButton("取消");
jp.add(cancelBn);
mianWin.pack();
mianWin.setVisible(true);
-->
<!-- JFrame mianWin = new JFrame("我的窗口"); -->
<bean id="mianWin" class="javax.swing.JFrame" c:_0="我的窗口" p:visible="true"/>
<!-- JTextArea jta= new JTextArea(24, 80); -->
<bean id="jta" class="javax.swing.JTextArea" c:_0="24" c:_1="80"/>
<!--
★ 调用普通方法
用MethodInvokingFactoryBean调用普通方法
方法可分成2种:
▲ 类方法(有static修饰)
调用类方法,要指定3个东西
- 调用哪个类 setTargetClass
- 调用哪个方法 setTargetMethod
- 调用方法的参数: setArguments(List)
▲ 实例方法(无static修饰)
调用实例方法,要指定3个东西
- 调用哪个对象 setTargetObject
- 调用哪个方法 setTargetMethod
- 调用方法的参数: setArguments(List)
mianWin.add(new JScrollPane(jta));
spel 简化 表示是 表达式 #{}
{}list [] 集合
p:arguments="#{{okBn}}"/>
支持调用构造器
-->
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
p:targetObject-ref="mianWin"
p:targetMethod="add"
p:arguments="#{{new javax.swing.JScrollPane(jta)}}"
/>
<!-- JPanel jp = new JPanel(); -->
<bean id="jp" class="javax.swing.JPanel"/>
<!-- mianWin.add(jp, BorderLayout.SOUTH); -->
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
p:targetObject-ref="mianWin"
p:targetMethod="add"
p:arguments="#{{jp,T(java.awt.BorderLayout).SOUTH}}"
/>
<!-- JButton okBn = new JButton("确认"); -->
<bean id="okBn" class="javax.swing.JButton" c:_0="确认"/>
<!-- jp.add(okBn); -->
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
p:targetObject-ref="jp"
p:targetMethod="add"
p:arguments="#{{okBn}}"/>
<!-- JButton cancelBn = new JButton("取消"); -->
<bean id="cancelBn" class="javax.swing.JButton" c:_0="取消"/>
<!-- jp.add(cancelBn); -->
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
p:targetObject-ref="jp"
p:targetMethod="add"
p:arguments="#{{cancelBn}}"
/>
<!-- mianWin.pack(); -->
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
p:targetObject-ref="mianWin"
p:targetMethod="pack">
</bean>
</beans>