gpt4 book ai didi

java - 在 JEditorPane 中显示可点击的 HTML 链接

转载 作者:行者123 更新时间:2023-11-29 05:51:15 25 4
gpt4 key购买 nike

我做了一些谷歌搜索,所有在 html 中实现可点击链接的方法都没有太多解释它们是如何工作的(至少我理解的不够)。有人愿意详细说明一下吗?

我的代码:

import javax.imageio.ImageIO;
import javax.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;

public class WebBrowser extends JFrame {
public JPanel
address_panel, window_panel;

public JLabel
address_label;

public JTextField
address_tf;

public JEditorPane
window_pane;

public JScrollPane
window_scroll;

public JButton
address_b;

private Go go = new Go();

public WebBrowser() throws IOException {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
} catch (UnsupportedLookAndFeelException e1) {
e1.printStackTrace();
}
Image image = null;
try {
image = ImageIO.read(new File("images/icon.gif"));
} catch (IOException e) {
e.printStackTrace();
}
address_label = new JLabel(" address: ", SwingConstants.CENTER);
address_tf = new JTextField("");
address_tf.addActionListener(go);
address_b = new JButton("Go");
address_b.addActionListener(go);

window_pane = new JEditorPane("http://(server):(port)/");
window_pane.setContentType("text/html");
window_pane.setEditable(false);

address_panel = new JPanel(new BorderLayout());
window_panel = new JPanel(new BorderLayout());

address_panel.add(address_label, BorderLayout.WEST);
address_panel.add(address_tf, BorderLayout.CENTER);
address_panel.add(address_b, BorderLayout.EAST);

window_scroll = new JScrollPane(window_pane);
window_panel.add(window_scroll);

Container pane = getContentPane();
pane.setLayout(new BorderLayout());

pane.add(address_panel, BorderLayout.NORTH);
pane.add(window_panel, BorderLayout.CENTER);

setIconImage(image);
setTitle("web browser");
setSize(800,600);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

}

public class Go implements ActionListener{

public void actionPerformed(ActionEvent ae){

try {

window_pane.setPage("http://(server):(port)/"+address_tf.getText());

} catch (MalformedURLException e) {
window_pane.setText("MalformedURLException: " + e);
} catch (IOException e) {
window_pane.setText("IOException: " + e);
}

}

}

}

提前致谢(请随时指出我的代码中任何可以改进的地方)

艾瑞斯

最佳答案

您需要添加一个HyperlinkListener,而不是ActionListener

参见教程 here .

关于java - 在 JEditorPane 中显示可点击的 HTML 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13780010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com