Jac*_*man 3 html java browser swing jtextpane
我正在尝试创建一个显示网页的JPanel.我已经到了可以阅读网页的阶段,但是当我显示页面时,它看起来很混乱,见下文.

这是源代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
public class Browser {
private JFrame frame;
private JPanel panelTop;
private JEditorPane editor;
private JScrollPane scroll;
private JTextField field;
private JButton button;
private URL url;
public Browser(String title) {
initComponents();
//set the title of the frame
frame.setTitle(title);
//set the default cloe op of the jframe
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//set size of frame
frame.setSize(800,600);
//add jpanel to north of jframe
frame.add(BorderLayout.NORTH, panelTop);
//add textfield and navigation button to jpanel.
panelTop.add(field);
panelTop.add(button);
//add scroll pane to jframe center
frame.add(BorderLayout.CENTER, scroll);
//set the frame visible
frame.setVisible(true);
}//end Browser() constructor
private void initComponents() {
//create the JFrame
frame = new JFrame();
//create the JPanel used to hold the text field and button.
panelTop = new JPanel();
//set the url
try {
url = new URL("http://www.google.co.uk");
}
catch(MalformedURLException mue) {
JOptionPane.showMessageDialog(null,mue);
}
//create the JEditorPane
try {
editor = new JEditorPane(url);
//set the editor pane to false.
editor.setEditable(false);
}
catch(IOException ioe) {
JOptionPane.showMessageDialog(null,ioe);
}
//create the scroll pane and add the JEditorPane to it.
scroll = new JScrollPane(editor, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
//create the JTextField
field = new JTextField();
//set the JTextField text to the url.
//we're not doing this on the event dispatch thread, so we need to use
//SwingUtilities.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
field.setText(url.toString());
}
});
//create the button for chanign pages.
button = new JButton("Go");
//add action listener to the button
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
editor.setPage(field.getText());
}
catch(IOException ioe) {
JOptionPane.showMessageDialog(null, ioe);
}
}
});
}//end initComponents()
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Browser("Simple web browser");
}
});
}//end main method.
}//end Browser class
Run Code Online (Sandbox Code Playgroud)
是否有一些我缺少的方法,读取CSS和闪存等?
仅仅因为JEditorPane呈现旧的(3.2的部分)HTML和简单的CSS并不能使它成为浏览器.它仅适用于您控制的内容.
是否有一些我缺少读取CSS的方法..
它支持简单的样式.
..闪光等?
默认HTML编辑器工具包中不支持.
可以在编辑器工具包中添加对新HTML元素的支持,但是您需要提供呈现Flash,.. applet等的组件.
| 归档时间: |
|
| 查看次数: |
4818 次 |
| 最近记录: |