Nanashi-softプログラマ専用BD-J


◇BD-J-押したキーを表示する最小のプログラム-

我々プログラマ間では「説明はいいからプログラムを見せて~」と言う場面が多くあります(笑)
「英語は読めないがプログラムは読める」と言う有名な言葉も……

ここでは Componentクラスを使用した最小の BD-J雛形を紹介します
Componentに聞きなれない人もいるかと思いますが Canvasクラスとほぼ同じように使える画面表示と考えて下さい
わざわざ Canvasを Componentに置き換えて高速化を図る人もいるそうですよ

○BD-J雛形

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){
  }
}



TOPプログラマ専用BD-J