приложение генерирует некоторые HTML-страницы , которые должны отображаться в самом приложении.
Эти HTML-страницы содержат некоторые формы , которые будутбудет использоваться пользователем для ввода некоторых значений.
До сих пор я использовал JTextPane , который прекрасно отображает HTML , но я не знаю, как взаимодействоватьс помощью формы для получения значений, введенных пользователем.
_
Возможно ли это сделать с помощью JTextPane / JEditorPane?
Если нет, то есть ли у вас какой-либо другой способ взаимодействия с формой HTML?
_
РЕДАКТИРОВАТЬ : следующий тульский Вот инструкции, приведенные ниже:
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(
"<html>" +
"<body>" +
"<form action=\"#\">" +
"<input name=\"input1\" type=\"text\" />" +
"<input name=\"input2\" type=\"text\" /><br/>" +
"<input name=\"cb1\" type=\"checkbox\" /><br/>" +
"<input name=\"rb1\" type=\"radio\" /><br/>" +
"<input type=\"submit\" value=\"go\" />" +
"</form>" +
"</body>" +
"</html>");
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 " является обязательнымв противном случае выдается исключение.
_
Заранее благодарим за любые подсказки.