IT_Programming/Java

java applet에서 재생되는 동영상에 동적으로 문자열을 표시하는 방법

JJun ™ 2010. 11. 29. 16:01

java applet에서 재생되는 동영상에 동적으로 문자열을 표시하는 구체적인 방법입니다.

javax.media.Player가 heavy-weight Component 라서 항상 맨 앞면에 표시되기 때문에

light-weight Component로 하면 안됩니다.

 

 

JMF 코드 입니다.

 

 

1. Panel을 JLayeredPane에 추가합니다.

 

panel = new Panel();

panel.setLayout( null );
add(panel);

 

String string = new String("PKTK");

label = new JLabel (string, JLabel.CENTER);
label.setFont (small);
label.setForeground (Color.BLUE);
panel = new JLayeredPane ();
panel.setLayout (null);
panel.setBounds (0, 0, x, y);

 

 

2. Player도 이와 같이 변경합니다.

 

player = Manager.createPlayer(mrl);

 

 

3. Manager도 구성해야 합니다.

Manager.createRealizedPlayer에서 Player를 만들어야 재생할 수 있습니다.

 

Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, new Boolean(true));
Manager.setHint(Manager.PLUGIN_PLAYER, new Boolean(true));
player = Manager.createRealizedPlayer(mrl);

 


4. Player를 이렇게 JLayeredPane 구성 요소를 추가하여 애플릿 add합니다.

 

player.addControllerListener(this);

player.getVisualComponent (). setBounds (0, 0, 214, 120);
panel.add(label);
panel.add(player.getVisualComponent());
panel.moveToFront(label);
add(player.getControlPanelComponent(), BorderLayout.NORTH);
add(panel, BorderLayout.CENTER);

setVisible (true);


 

5. 문자열을 이동하려면 Applet를 선언할 때 implements Runnable을 추가하여 run 메서드를

   오버라이딩 합니다.

 

public void run () {
     label.setBounds( x , y , w , h );
     repaint();

}