JFileChooser可以在服务器上还是在另一台机器上运行?

时间:2013-07-26 11:27:15

标签: java swing awt jfilechooser

http://localhost:8080/Project/test.jsp  (url which hits system1)
http://192.168.1.22:8080/Project/test.jsp  (url which hits system2)

jfilechooser code:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class BrowsePath extends JFrame implements ActionListener {

JButton button;
JTextField field;

    public BrowsePath () {
        setVisible(true);
        this.setLayout(null);

        button = new JButton("browse");
        field = new JTextField();

        field.setBounds(30, 50, 200, 25);
        button.setBounds(240, 50, 100, 25);
        this.add(field);
        this.add(button);

        button.addActionListener(this);
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    }

    public void actionPerformed(ActionEvent e) {
        Chooser frame = new Chooser();
        field.setText(frame.fileName);
    }

    public static void main(String args[]) {
        BrowsePath frame = new BrowsePath ();
        frame.setSize(400, 600);
        frame.setLocation(200, 100);
        frame.setVisible(true);
    }
}

class Chooser extends JFrame {

    JFileChooser chooser;
    String fileName;

    public Chooser() {
        chooser = new JFileChooser();
        int r = chooser.showOpenDialog(new JFrame());
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        if (r == JFileChooser.APPROVE_OPTION) {
            fileName = chooser.getSelectedFile().getPath();
        }
    }
}
  • 我有一个JFileChooser代码,当我从本地机器(system1)点击页面时工作正常

  • 上面的jsp页面有一个按钮,点击按钮即可加载。

  • 我尝试了另一种方法,从另一台机器(system2)尝试通过用ip替换localhost来点击url

  • 在上述情况下,它没有在system2中运行,而是在system1中运行。

  • 是否可以让它在system2中运行?

2 个答案:

答案 0 :(得分:2)

  

是否可以让它在system2中运行?

是的,如果你在客户端机器上使用'system2'。使用受信任的小程序。

答案 1 :(得分:0)

文件选择器显示运行应用程序的计算机上的文件系统(以及本地计算机中的已挂载/映射文件夹等)。这是关键。

您拥有的是JFrame Swing应用程序。

如果您希望文件选择器显示来自其他计算机的文件,则需要首先在该计算机上运行swing JFrame应用程序。

这可以通过将应用程序分发到system2,或将其更改为Applet(来自JFrame)并从网页远程调用Applet来完成。