0

我有以下 Java 小程序。它获取用户选择的文件的绝对文件路径:

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.awt.Color;
/*
   <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
           width=150 height=100 
 codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0"> 
     <PARAM NAME="code" value="FileApplet.class">
   </OBJECT>
 */

public class fileabs extends JApplet
{
   private JTextField tfCount;
   final JFileChooser fc = new JFileChooser();

  public void init() {
      setBackground(Color.WHITE);
        JPanel p = new JPanel( new FlowLayout(FlowLayout.CENTER, 15, 15));
        p.add(new JLabel("Select File: "));
        tfCount = new JTextField(50);
        tfCount.setEditable(false);
        p.add(tfCount);
        JButton b2 = new JButton("Browse...");
        p.add(b2);
        b2.addActionListener( new ActionListener(){
            public void actionPerformed(ActionEvent ae) {
               tfCount.setText("dsds");
                int returnVal = fc.showOpenDialog(fileabs.this);
                tfCount.setText(fc.getSelectedFile().getAbsolutePath());
            }
        } );

        // p.add(label);
        add(p);
    }
}

但是,我需要能够将其发送到另一种语言(python/django)的表单。我将如何获取绝对路径的值,以便可以在 javascript 中解析它?现在,我无法访问该路径,即使它显示在小程序中。

4

1 回答 1

1

您应该考虑使用LiveConnect,它允许小程序与页面中的 JavaScript 交互,反之亦然。

以下代码setPath使用单个参数调用页面中的全局 JavaScript 函数:

netscape.javascript.JSObject.getWindow(appletInstance)
    .call("setPath", new Object[] { path });

小程序必须在参数mayscript设置为或者truemayscript允许使用 LiveConnect 的情况下启动。

于 2013-04-15T20:35:46.190 回答