showcontext.java
来自「learning java的源代码。书中每个实例都有相关的代码example。」· Java 代码 · 共 76 行
JAVA
76 行
//file: ShowContext.javapackage magicbeans;import javax.swing.*;import java.beans.beancontext.*;import java.util.*;public class ShowContext extends JTabbedPane implements BeanContextProxy { BeanContext context; BeanContextServices services; JList servicesList = new JList(), beansList = new JList( ); public ShowContext( ) { addTab( "Beans", new JScrollPane( beansList ) ); addTab( "Services", new JScrollPane( servicesList ) ); } private BeanContextChildSupport beanContextChild = new BeanContextChildSupport( ) { public void initializeBeanContextResources( ) { context= getBeanContext( ); try { services = (BeanContextServices)context; } catch (ClassCastException ex){/*No BeanContextServices*/} updateBeanList( ); updateServicesList( ); context.addBeanContextMembershipListener( new BeanContextMembershipListener( ) { public void childrenAdded( BeanContextMembershipEvent e){ updateBeanList( ); } public void childrenRemoved( BeanContextMembershipEvent e){ updateBeanList( ); } } ); services.addBeanContextServicesListener( new BeanContextServicesListener( ) { public void serviceAvailable( BeanContextServiceAvailableEvent e ) { updateServicesList( ); } public void serviceRevoked( BeanContextServiceRevokedEvent e ) { updateServicesList( ); } } ); } }; void updateServicesList( ) { if ( services == null ) return; Iterator it = services.getCurrentServiceClasses( ); Vector v = new Vector( ); while( it.hasNext( ) ) v.addElement( it.next( ) ); servicesList.setListData( v ); } void updateBeanList( ) { Iterator it = context.iterator( ); Vector v = new Vector( ); while( it.hasNext( ) ) v.addElement( it.next( ) ); beansList.setListData( v ); } public BeanContextChild getBeanContextProxy( ) { return beanContextChild; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?