//当选择复制按钮时候
        if (e.getSource() == copybutton) {
            if (srctext.getText().equals("") || totext.getText().equals("")) {
                JOptionPane.showMessageDialog(this, "请设定源文件或目录路径");
            } else {
                File srcfile = new File(srctext.getText());
                String filename = srcfile.getName();
                this.copyFile(srctext.getText(),
                              totext.getText() + "/" + filename);
            }
        }
看不懂此行代码,这句看不懂JOptionPane.showMessageDialog(this, "请设定源文件或目录路径");
这句的作用应该我想的应该是设置跳出的窗口的内容.但是为什么用这个对象JOptionPane
在此之前的所有代码中从来没看见这个对象声明的实例
为什么它可以直接调用方法.

解决方案 »

  1.   

    String filename = srcfile.getName();
    还有就是为什么filename实例可以直接getName()取得在获取需要文件的窗口中获得的我自己选中的文件的文件名呢.
    filename是在这里刚获取的实例 为什么可以获取之前
    public void actionPerformed(ActionEvent e) {
            //当点击选择原文件按钮时候
            if (e.getSource() == srcbutton) {
                JFileChooser chooser = new JFileChooser(" ");
                chooser.setDialogType(JFileChooser.OPEN_DIALOG);
                //设置只能选择文件
                chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
                chooser.setDialogTitle("请选择要复制的文件");
                //打开对话框并判断是否打开成功
                if (chooser.showOpenDialog(this) == chooser.APPROVE_OPTION) {
                    srctext.setText(chooser.getSelectedFile().getAbsolutePath());
                }
            }此中获取的文件的文件名呢?
    求高手解答.小弟刚学java
    菜鸟一只 完全凭借自己思路了解程序运行过程
    请高手不吝赐教.有理解错误的 望见谅.
      

  2.   

     JOptionPane.showMessageDialog(this, "请设定源文件或目录路径");
    srcfile.getName();
    这两个都是类里面的静态方法,你可以自己写个
    public class A{
    public setLeft(){System.out.println("aaaaaa");}
    public static setRight(){System.out.println("bbbbbbbb");}
    }
    不new实例就可以调用A.setRight但不可以调用A.setLeft(),setLeft需要new 实例。
      

  3.   

    JOptionPane是一个类,当然可以直接调用静态方法showMessageDialog