再生制御キーイベントの取得

再生制御キーイベントを取得するサンプルコード。

 

再生制御キーを取得するためには以下の条件がそろう必要がある。

 

Main.java

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.tv.xlet.Xlet;
import javax.tv.xlet.XletContext;
import org.bluray.ui.event.HRcEvent;
import org.havi.ui.HScene;
import org.havi.ui.HSceneFactory;
import org.havi.ui.HScreen;
 
public class Main implements Xlet, KeyListener {
    Graphics g;
    int x = 100, y = 50;
    public void initXlet(XletContext context){
        try {
            HScene hs= HSceneFactory.getInstance().getFullScreenScene(
                    HScreen.getDefaultHScreen().getDefaultHGraphicsDevice());
            g = hs.getGraphics();
            g.setColor(Color.white);
            g.setFont(new Font(null, Font.BOLD, 48));
            hs.setVisible(true);
            hs.requestFocus();
            hs.addKeyListener(this);
 
        } catch (Throwable thr){
        }
    }
    public void startXlet(){    }
    public void pauseXlet(){    }
    public void destroyXlet(boolean unconditional){}
    public void keyPressed(KeyEvent e) {
        switch( e.getKeyCode() ){
        case HRcEvent.VK_PLAY :
            g.drawString("VK_PLAY pressed", x, y); y+=50;
            break;
        case HRcEvent.VK_STOP:
            g.drawString("VK_STOP pressed", x, y); y+=50;
            break;
        }
    }
    public void keyReleased(KeyEvent e) {}
    public void keyTyped(KeyEvent e) {}
}

関連する項目

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください