mediaplayerbeaninfotest.java

来自「FMJ(freedom media for java)是java视频开发的新选择」· Java 代码 · 共 180 行

JAVA
180
字号
package net.sf.fmj.test.compat.playerbean;import java.beans.BeanDescriptor;import java.beans.EventSetDescriptor;import java.beans.IntrospectionException;import java.beans.PropertyDescriptor;import javax.media.bean.playerbean.MediaPlayer;import javax.media.bean.playerbean.MediaPlayerBeanInfo;import javax.media.bean.playerbean.MediaPlayerMediaLocationEditor;import junit.framework.TestCase;public class MediaPlayerBeanInfoTest extends TestCase{	public void testMediaPlayerBeanInfo() throws IntrospectionException	{		MediaPlayerBeanInfo info = new MediaPlayerBeanInfo();		PropertyDescriptor[] pds = info.getPropertyDescriptors();				PropertyDescriptor[] pds2 = new PropertyDescriptor[] {			 buildPropertyDescriptor(MediaPlayer.class, "mediaLocation", "media location", MediaPlayerMediaLocationEditor.class, true),			 buildPropertyDescriptor(MediaPlayer.class, "controlPanelVisible", "show control panel", null, true),			 buildPropertyDescriptor(MediaPlayer.class, "cachingControlVisible", "show caching control", null, true),			 buildPropertyDescriptor(MediaPlayer.class, "fixedAspectRatio", "fixedAspectRatio", null, true),			 buildPropertyDescriptor(MediaPlayer.class, "playbackLoop", "loop", null, true),			 buildPropertyDescriptor(MediaPlayer.class, "volumeLevel", "volume", javax.media.bean.playerbean.MediaPlayerVolumePropertyEditor.class, true),			 buildPropertyDescriptor(MediaPlayer.class, "background", "background", null, false),			 buildPropertyDescriptor(MediaPlayer.class, "foreground", "foreground", null, false),			 buildPropertyDescriptor(MediaPlayer.class, "font", "font", null, false),		};		for (int i = 0; i < pds.length; ++i)		{			if (i >= pds2.length)			{				print(pds[i]);				continue;			}			PropertyDescriptor a = pds[i];			PropertyDescriptor b = pds2[i];			if (!a.equals(b))			{				print(a);				print(b);				System.out.println("eq: " + eq(a, b));				assertTrue(false);			}		}				assertEquals(info.getDefaultPropertyIndex(), 1);		for (int i = 0; i < 20; ++i)		assertEquals(info.getIcon(i), null);				final BeanDescriptor bd = info.getBeanDescriptor();		assertEquals(bd.getDisplayName(), "MediaPlayer Bean");		assertEquals(bd.getName(), "MediaPlayer");		assertEquals(bd.getShortDescription(), "MediaPlayer Bean");		assertEquals(bd.getBeanClass(), MediaPlayer.class);		assertEquals(bd.getCustomizerClass(), null);		assertEquals(bd.isExpert(), false);				assertEquals(bd.isHidden(), false);		assertEquals(bd.isPreferred(), false);				try		{			EventSetDescriptor[] eds = info.getEventSetDescriptors();			for (int i = 0; i < eds.length; ++i)			{				EventSetDescriptor ed = eds[i];				System.out.println(ed.getAddListenerMethod());				System.out.println(ed.getDisplayName());				System.out.println();			}			assertTrue(false);		}		catch (Throwable e)		{	// TODO: do we really want to emulate this behavior?		}			}		private static boolean nullSafeEquals(Object a, Object b)	{		if (a == null && b == null)			return true;		if (a == null || b == null)			return false;		return a.equals(b);	}		private static boolean eq(PropertyDescriptor a, PropertyDescriptor b)	{		if (a == b)			return true;		if (!a.getName().equals(b.getName()))		{	System.out.println("getName");			return false;		}		if (!a.getDisplayName().equals(b.getDisplayName()))		{	System.out.println("getDisplayName");			return false;		}		if (!nullSafeEquals(a.getPropertyEditorClass(), b.getPropertyEditorClass()))		{	System.out.println("getPropertyEditorClass");			return false;		}		if (!a.getPropertyType().equals(b.getPropertyType()))		{	System.out.println("getPropertyType");			return false;		}		if (!a.getReadMethod().equals(b.getReadMethod()))		{	System.out.println("getReadMethod");			return false;		}		if (!a.getShortDescription().equals(b.getShortDescription()))		{	System.out.println("getShortDescription");			return false;		}		if (!a.getWriteMethod().equals(b.getWriteMethod()))		{	System.out.println("getWriteMethod");			return false;		}		if (a.isBound() != b.isBound())		{	System.out.println("isBound");			return false;		}		if (a.isConstrained() != b.isConstrained())		{	System.out.println("isConstrained");			return false;		}				if (a.isExpert() != b.isExpert())		{	System.out.println("isExpert");			return false;		}				if (a.isHidden() != b.isHidden())		{	System.out.println("isHidden");			return false;		}				if (a.isPreferred() != b.isPreferred())		{	System.out.println("isPreferred");			return false;		}				return true;	}		private static PropertyDescriptor buildPropertyDescriptor(Class clazz, String name, String displayName, Class propertyEditorClass, boolean bound) throws IntrospectionException	{		final PropertyDescriptor pd = new PropertyDescriptor(name, clazz);		pd.setDisplayName(displayName);		pd.setPropertyEditorClass(propertyEditorClass);		pd.setBound(bound);			return pd;	}		private static final void print(PropertyDescriptor pd)	{		System.out.println(pd.getDisplayName());		System.out.println(pd.getName());		System.out.println(pd.getShortDescription());		System.out.println(pd.getPropertyEditorClass());		System.out.println(pd.getPropertyType());		System.out.println(pd.getReadMethod());		System.out.println(pd.getWriteMethod());		//System.out.println(pd.getValue());// TODO		System.out.println();	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?