应用程序生成一些应该在应用程序本身中显示的HTML页面.
这些HTML页面包含一些用户可用于输入某些值的表单.
到目前为止,我已经使用了一个完美呈现HTML的JTextPane,但我不知道如何与表单进行交互以检索用户输入的值.
_
是否可以使用JTextPane / JEditorPane执行此操作?
如果不是,您现在是否有其他方式与HTML表单进行交互?
_
编辑:以下tulskiy说明结果如下:
package tests;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.html.*;
import org.junit.Test;
public class JTextPaneTests
{
@Test
public void testForms() throws Exception
{
javax.swing.SwingUtilities.invokeLater(
new Runnable()
{
public void run()
{
javax.swing.JFrame jf = new javax.swing.JFrame();
jf.setSize(300,300);
jf.setVisible(true);
jf.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
JTextPane textPane = new JTextPane();
textPane.setContentType("text/html");
textPane.setEditable(false);
textPane.setText(
"" +
"
" +"
" +"" +
"
" +
"
" +
"
" +
"" +
"
" +"" +
"");
jf.getContentPane().setLayout(new BoxLayout(jf.getContentPane(), BoxLayout.Y_AXIS));
jf.getContentPane().add(textPane);
HTMLEditorKit kit = (HTMLEditorKit)textPane.getEditorKit();
kit.setAutoFormSubmission(false);
textPane.addHyperlinkListener(new HyperlinkListener()
{
@Override
public void hyperlinkUpdate(HyperlinkEvent e)
{
if (e instanceof FormSubmitEvent)
{
System.out.println(((FormSubmitEvent)e).getData());
}
}
});
}
}
);
System.in.read();
}
}
根据用户输入,输出将如下:
input1=Some+text&input2=More+text&cb1=on&rb1=on
请注意,“action”属性是必需的,否则抛出异常.
_
提前感谢任何提示.