Browser 嵌入JFrame中的浏览器中的小程序
我是java新手。我想在JFrame中嵌入浏览器。我使用了一个JEditorPane来显示HTML,但它仍然不能正确显示页面。它显示页面,但内容不正确。我最担心的是嵌入在网页中的Java小程序不会显示在我的自定义浏览器中。我可能没有正确使用JEditorPane。这是我的密码:Browser 嵌入JFrame中的浏览器中的小程序,browser,applet,embed,java,Browser,Applet,Embed,Java,我是java新手。我想在JFrame中嵌入浏览器。我使用了一个JEditorPane来显示HTML,但它仍然不能正确显示页面。它显示页面,但内容不正确。我最担心的是嵌入在网页中的Java小程序不会显示在我的自定义浏览器中。我可能没有正确使用JEditorPane。这是我的密码: import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.net.*; import java.io.*; public
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
public class Frame1 extends JFrame implements ActionListener
{
private JEditorPane editorPane;
private JTextField addressField;
private JButton goButton;
private JLabel label;
public Frame1() {
super("Frame1");
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e) {
System.out.println("Unablet to set look and feel.");
}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label = new JLabel("Enter URL. Must include http://");
// setup editor pane
editorPane = new JEditorPane();
editorPane.setEditable(false);
URL url = null;
try {
url = new URL("http://www.cut-the-knot.org/SimpleGames/FrogsAndToads2d.shtml");
} catch (MalformedURLException e) {
}
if (url != null) {
try {
editorPane.setPage(url);
} catch (IOException e) {
label.setText("Attempted to read a bad URL: " + url);
}
} else {
label.setText("String specifies an unknown protocol.");
}
// put editor pane in a scroll pane
JScrollPane editorScrollPane = new JScrollPane(editorPane);
editorScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
editorScrollPane.setPreferredSize(new Dimension(250, 145));
editorScrollPane.setMinimumSize(new Dimension(10, 10));
// setup everything in southPanel.
// southPanel > addressBar + label> addressField + goButton
addressField = new JTextField(30);
goButton = new JButton("Go");
goButton.addActionListener(this);
JPanel addressBar = new JPanel();
JPanel southPanel = new JPanel(new GridLayout(2, 1));
addressBar.add(addressField);
addressBar.add(goButton);
southPanel.add(addressBar);
southPanel.add(label);
// add everything to JFrame
setLayout(new BorderLayout());
add(southPanel, BorderLayout.SOUTH);
add(editorScrollPane, BorderLayout.CENTER);
setSize(500, 500);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == goButton) {
URL url = null;
try {
url = new URL(addressField.getText());
} catch (MalformedURLException murle) {
}
if (url != null) {
try {
editorPane.setPage(url);
} catch (IOException ioe) {
label.setText("Attempted to read a bad URL: " + url);
}
} else {
label.setText("String specifies an unknown protocol.");
}
}
}
public static void main(String[] args) {
new Frame1();
}
}
你应该考虑一个Swing java嵌入式浏览器。例如:
希望这有帮助。 < P>你应该考虑一个Swing java嵌入式浏览器。例如:
希望这能有所帮助。
JEditorPane
不是浏览器;它是一个文本组件。另请参见此内容。是的,Swing的HTML支持仅用于格式化,而不用于嵌入小程序或类似的内容。您可能可以嵌入部分的appletviewer
,但这样您就不会有任何HTML输出,只有小程序。另外,在catch块中没有任何内容的情况下使用try/catch是非常糟糕的形式。不要只是压制异常。JEditorPane
不是浏览器;它是一个文本组件。另请参见此内容。是的,Swing的HTML支持仅用于格式化,而不用于嵌入小程序或类似的内容。您可能可以嵌入部分的appletviewer
,但这样您就不会有任何HTML输出,只有小程序。另外,在catch块中没有任何内容的情况下使用try/catch是非常糟糕的形式。不要只是压制例外。