按下ActionListerner时,Jpanel没有反应

时间:2015-11-11 13:54:37

标签: java user-interface jframe jpanel

所以我制作了一个非常简单的GUI:

enter image description here

我简单的地方

  • 打开以浏览音乐文件
  • 播放音乐
  • 停止播放音乐。

非常简单的事情,但有一些问题,使一个JFileChooser。所以我所做的就是使用一个简单的GUI:

    btnOpen = new JButton("Open");
      btnOpen.setBounds(6, 71, 75, 23);
      pnlSound.add(btnOpen);

fileChooser = new JFileChooser();

  btnOpen.addActionListener(new ActionListener() {


   public void actionPerformed(ActionEvent e) {
    if (e.getSource() == btnOpen) {
     SampleJFileChooser();

并且有一个执行JFileChooser的方法:

public void SampleJFileChooser(){

  JFileChooser jFileChooser = new JFileChooser();
  jFileChooser.setCurrentDirectory(new File("C:/Users/Balling/Desktop"));

  int result = jFileChooser.showOpenDialog(new JFrame());


  if (result == JFileChooser.APPROVE_OPTION) {
   File selectedFile = jFileChooser.getSelectedFile();
   System.out.println("Selected file: " + selectedFile.getAbsolutePath());
  }
 }

但问题是,每当我按下按钮打开时,都没有发生任何事情。并且没有JFileChooser弹出来,我一直试图为JFileChooser提供其他示例代码,但没有。仍然是同一个问题。这意味着按下按钮时不会出现任何问题。

可能出现什么问题?

我也为Audio创建了这个帖子,如果我现在可以让它工作。我该怎么做才能读出这首歌并播放它?它有特殊的方法吗?

编辑:我偶然删除了一个具有相同帖子的帖子,并且无法取消删除它,所以我重新尝试使用这个帖子。

1 个答案:

答案 0 :(得分:0)

试试吧...... !!! 解决方案: -

 public class Solu implements ActionListener {
        File filename;
        JFrame wind = new JFrame("V");
        JButton btnOpen = new JButton("open");
        JPanel pnlSound=new JPanel();
public Solu() {
    wind.setSize(400, 500);
    wind.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    wind.add(btnOpen);
    btnOpen.setBounds(6, 71, 75, 23);
    pnlSound.add(btnOpen);
    wind.add(pnlSound);
    btnOpen.addActionListener(this);
    wind.setVisible(true);  }
  public static void main(String[] args){
    new  Solu();}
  public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    if(e.getSource()==btnOpen){
        JFileChooser filechooser = new JFileChooser();
        filechooser.setCurrentDirectory(new              File("C://Users//V//Desktop"));

         int result = filechooser.showOpenDialog(new JFrame());
          if (result == JFileChooser.APPROVE_OPTION) {
           File selectedFile = filechooser.getSelectedFile();
           System.out.println("Selected file: " +selectedFile.getAbsolutePath());
          }}}}