swing html 我想实现一个需求,各位看官看看可行吗?swing的panel中嵌入html,然后点击html的图片,通过相应的事件处理,到达这个swing系统中其他panel页面谢谢如果可以 能否赐教。。谢谢。小散 100 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 panel貌似 不能 嵌入html但是你可以在panel裡面加入個jlabel 然後在jlabel裡面加入你的圖片,然後再加事件 點擊 到你要的另一個panel上 这种方式,实现起来不会困难我是想 知道 如果能内嵌html,那么超链接能响应事件到 相应的panel吗? 你在网上找一下相关的组件,这个好像要调用IE的库,比如这个 JDIC 用javax.swing.JEditorPane,它可以显示网页内容并且,当点击某个链接的时候,将会触发public void hyperlinkUpdate(HyperlinkEvent e)事件,在这个事件里面你可以做其它事情:import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;import javax.swing.JEditorPane;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextField;import javax.swing.event.HyperlinkEvent;import javax.swing.event.HyperlinkListener;public class Browser extends JFrame implements ActionListener, HyperlinkListener{ private JLabel labUrl = new JLabel("URL 地址:"); private JTextField txtUrl = new JTextField(20); private JEditorPane ep = new JEditorPane(); private JPanel panel = new JPanel(); public Browser() { txtUrl.addActionListener(this); ep.addHyperlinkListener(this); panel.setLayout(new BorderLayout()); panel.add(labUrl,BorderLayout.WEST); panel.add(txtUrl,BorderLayout.CENTER); this.setLayout(new BorderLayout()); this.add(panel,BorderLayout.NORTH); this.add(new JScrollPane(ep),BorderLayout.CENTER); } public void actionPerformed(ActionEvent e) { URL url; try { url = new URL(txtUrl.getText()); ep.setPage(url); } catch (MalformedURLException e1) { e1.printStackTrace(); } catch (IOException e2) { e2.printStackTrace(); } } public void hyperlinkUpdate(HyperlinkEvent e) { URL url = e.getURL(); txtUrl.setText(url.toString()); try { ep.setPage(url); } catch (IOException e1) { e1.printStackTrace(); } //...这里就可以写到达这个swing系统中其他panel页面的代码 } public static void main(String[] args) { Browser frame = new Browser(); frame.setTitle("简单的浏览器"); frame.setSize(640, 480); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }} 这个楼上已经说得比较清楚了,实际上Swing的轻量级组件都支持Html语法 假设我html有很多 图片 然后还有很多超链接,按这种方法,我如果知道是那个图片 或是哪个超链接的事件呢?当然这些图片或超链接 到的 panel页面是死的。。 你只是 panel 之間的跳轉 不需要什麽 html的連接啊 直接 換個panel顯示就好了 在panel之間 來回的切換就行了啊~ 而且如果是图片链接呢?这个public void hyperlinkUpdate(HyperlinkEvent e)根本不起作用的啊 可以用jdic 哥也在整这个 搞不出来啊 深度理解equals 关于java导出excel问题 如何在运行时生成唯一标识,不采用UUID 为什么运行的结果是这样的? 关于环绕通知 用下载的Driver连接数据库 如何让程序停留几秒再执行下面的语句? 求助:JAVA读取.txt文件的问题 救人,送分,救人,送分------在线等待 JDBC的问题!!!在线等啊~~~问题解决,马上结帖! new求解答! new求解答!
但是你可以在panel裡面加入個jlabel 然後在jlabel裡面加入你的圖片,
然後再加事件 點擊 到你要的另一個panel上
我是想 知道 如果能内嵌html,那么超链接能响应事件到 相应的panel吗?
并且,当点击某个链接的时候,将会触发public void hyperlinkUpdate(HyperlinkEvent e)事件,在这个事件里面你可以做其它事情:import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;public class Browser extends JFrame implements ActionListener,
HyperlinkListener
{
private JLabel labUrl = new JLabel("URL 地址:");
private JTextField txtUrl = new JTextField(20);
private JEditorPane ep = new JEditorPane();
private JPanel panel = new JPanel(); public Browser()
{
txtUrl.addActionListener(this);
ep.addHyperlinkListener(this);
panel.setLayout(new BorderLayout());
panel.add(labUrl,BorderLayout.WEST);
panel.add(txtUrl,BorderLayout.CENTER);
this.setLayout(new BorderLayout());
this.add(panel,BorderLayout.NORTH);
this.add(new JScrollPane(ep),BorderLayout.CENTER);
} public void actionPerformed(ActionEvent e)
{
URL url;
try
{
url = new URL(txtUrl.getText());
ep.setPage(url);
} catch (MalformedURLException e1)
{
e1.printStackTrace();
} catch (IOException e2)
{
e2.printStackTrace();
}
} public void hyperlinkUpdate(HyperlinkEvent e)
{
URL url = e.getURL();
txtUrl.setText(url.toString());
try
{
ep.setPage(url);
} catch (IOException e1)
{
e1.printStackTrace();
}
//...这里就可以写到达这个swing系统中其他panel页面的代码
}
public static void main(String[] args)
{
Browser frame = new Browser();
frame.setTitle("简单的浏览器");
frame.setSize(640, 480);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
假设我html有很多 图片 然后还有很多超链接,按这种方法,我如果知道是那个图片 或是哪个超链接的事件呢?当然这些图片或超链接 到的 panel页面是死的。。