我々プログラマ間では「説明はいいからプログラムを見せて〜」と言う場面が多くあります(笑)
「英語は読めないがプログラムは読める」と言う有名な言葉も……
ここでは Componentクラスを使用した最小の BD-J雛形を紹介します
Componentに聞きなれない人もいるかと思いますが Canvasクラスとほぼ同じように使える画面表示と考えて下さい
わざわざ Canvasを Componentに置き換えて高速化を図る人もいるそうですよ
package org.homebrew;
import javax.media.*;
import java.awt.*;
import java.awt.event.*;
import javax.tv.xlet.*;
import org.havi.ui.*;
public class MyXlet extends Component implements Xlet, KeyListener{
private HScene hs;
private int keycode= 0;
public void initXlet(XletContext context){
hs= HSceneFactory.getInstance().getFullScreenScene(HScreen.getDefaultHScreen().getDefaultHGraphicsDevice());
setBounds(hs.getBounds());
hs.add(this);
addKeyListener(this);
hs.setVisible(true);
requestFocus();
}
public void startXlet(){
}
public void pauseXlet(){
}
public void destroyXlet(boolean unconditional){
}
public void paint(Graphics g){
g.setColor(new Color(0, 0, 0));
g.fillRect(0, 0, getWidth(), getHeight());
g.setFont(new Font(null, Font.PLAIN, 36));
g.setColor(new Color(255, 255, 255));
g.drawString("Key:"+keycode, 100, 40);
}
public void keyPressed(KeyEvent evt){
keycode= evt.getKeyCode();
repaint();
}
public void keyReleased(KeyEvent e){
}
public void keyTyped(KeyEvent e){
}
}