- Application Identifier(organization_id, application_id)
- Disc unbound application / Title unbound application
複数Xletが登録されている場合、すべてのアプリに関する情報が表示される。
Main.java
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.util.Enumeration;
import javax.tv.xlet.Xlet;
import javax.tv.xlet.XletContext;
import org.bluray.application.AppAttributes;
import org.dvb.application.AppID;
import org.dvb.application.AppsDatabase;
import org.dvb.application.CurrentServiceFilter;
import org.havi.ui.HScene;
import org.havi.ui.HSceneFactory;
import org.havi.ui.HScreen;
public class Main implements Xlet{
int x=100, y=100;
public void initXlet(XletContext context){
try {
Font font = new Font(null, java.awt.Font.BOLD, 48);
HScene hs= HSceneFactory.getInstance().getFullScreenScene(
HScreen.getDefaultHScreen().getDefaultHGraphicsDevice());
hs.setFont(font);
hs.setVisible(true);
Graphics g = hs.getGraphics();
g.setColor(Color.white);
// アプリケーションデータベースのインスタンスを取得
AppsDatabase ad = AppsDatabase.getAppsDatabase();
// 現Titleのアプリケーション属性リストを抽出するためのフィルタを取得
CurrentServiceFilter csf = new CurrentServiceFilter();
// アプリケーション属性リストの取得
Enumeration e = ad.getAppAttributes(csf);
for( int i=0; e.hasMoreElements(); i++ ){
// 次のアプリケーション属性を取得
AppAttributes aa = (AppAttributes)e.nextElement();
// Application
AppID aid = aa.getIdentifier();
g.drawString("["+i+"]", x, y); y+=50;
g.drawString( "+-organization_id: "+Integer.toHexString(aid.getOID())
+",application_id: " + Integer.toHexString(aid.getAID()), x, y); y+=50;
g.drawString( "+-isServiceBound: "+aa.getIsServiceBound()
+",isDiscBound: "+aa.isDiscBound(), x, y); y+=50;
}
} catch (Throwable thr){
}
}
public void startXlet(){ }
public void pauseXlet(){ }
public void destroyXlet(boolean unconditional){}
}
関連する項目
- BD-J Object file: Xletの登録先