Re: [問題] Swing有時會顯示出來 有時不會
深感抱歉 早上趕著出門,忘了給code o(‧"‧)o
我主要是getContentPane.add(vc)
這個vc 是繼承Jpanel而來的
但是當我要把vc setVisible(true) 常出錯
時好時壞Orz
/**
* @(#)test.java
*
*
* @author
* @version 1.00 2008/6/18
*/
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.media.*;
import java.awt.event.*;
import javax.media.Control;
import java.io.*;
class volumeChange extends JPanel implements ActionListener{
private GainControl gain;
private JButton jbadd=new JButton("+");
private JButton jbsub=new JButton("-");
private JLabel jl=new JLabel("音量改變 ");
private Player player;
public volumeChange(Player tp){
super();
setSize(130,33);
setBorder(new EtchedBorder(EtchedBorder.RAISED));
player=tp;
gain=player.getGainControl();
add(jl);
add(jbadd);
jbadd.addActionListener(this);
jbadd.setMargin( new Insets(0,2,0,2) );
add(jbsub);
jbsub.addActionListener(this);
jbsub.setMargin( new Insets(0,3,0,3) );
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==jbadd){
float t=gain.getLevel();
gain.setLevel( (float)(t+0.1>1.0?1.0:t+0.1) );
}
if(e.getSource()==jbsub){
float t=gain.getLevel();
gain.setLevel( (float)(t-0.1<0?0:t-0.1) );
}
}
}
public class test extends JFrame{
private volumeChange vc;
private Player player;
private Component cpc;
private Component visualWindow;
private JDesktopPane jdp;
//public Player getPlayer(){ return player; }
public test(String title)throws Exception{
super(title);
setSize(500,500);
setVisible(true);
setLayout(null);
addWindowListener( new WinAct(this) );
File file=new File("C:\\123.mpg");
player=Manager.createRealizedPlayer(new
MediaLocator(file.toURI().toURL()));
vc=new volumeChange(player);
vc.setLocation(320,370);
getContentPane().add(vc);
cpc=player.getControlPanelComponent();
cpc.setBounds(50,370,260,30);
getContentPane().add(cpc);
visualWindow=player.getVisualComponent();
visualWindow.setBounds(50,50,400,300);
getContentPane().add(visualWindow);
}
public static void main(String[] args)throws Exception{
test jf=new test("test");
}
static class WinAct extends WindowAdapter{
private test jf;
public WinAct(test tjf){
jf=tjf;
}
public void windowClosing(WindowEvent e) {
jf.player.stop();
jf.player.deallocate();
jf.dispose();
System.exit(0);
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.23.226.13
推
06/19 14:42, , 1F
06/19 14:42, 1F
→
06/19 14:43, , 2F
06/19 14:43, 2F
推
06/19 15:13, , 3F
06/19 15:13, 3F
推
06/19 15:18, , 4F
06/19 15:18, 4F
推
06/19 15:21, , 5F
06/19 15:21, 5F
→
06/19 15:23, , 6F
06/19 15:23, 6F
→
06/19 15:45, , 7F
06/19 15:45, 7F
→
06/19 15:51, , 8F
06/19 15:51, 8F
→
06/20 00:08, , 9F
06/20 00:08, 9F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):