如何通过鼠标单击包含HTML表的JEditorPane获得行

问题描述 投票:0回答:1

是否有一种方法可以在JEditorPane中定义的HTML表中获取行索引?我尝试过viewToModel方法,但这不是我所期望的。

pane.addMouseListener(new MouseListener(){

    @Override
    public void mouseClicked(MouseEvent e) {
        System.out.println( pane.viewToModel(e.getPoint()) );               
    }

                ...
java html html-table jeditorpane
1个回答
0
投票

轻松/懒惰的答案:当然,您不能。即使在纯HTML页面中,也需要一些JavaScript才能实现。JEdi​​torPane无法处理javascript(我认为,也许我错了),所以没有机会。

现在,您可以使用其他方法:

  • 使用链接更改字段(或创建一个新字段)。
  • 该链接的网址类似#rowXXX,其中XXX是行号。
<a href="#row001">Some field</a> 
  • 向jEditorPane添加HyperlinkListener
editor.addHyperlinkListener(new HyperlinkListener() {
            @Override
            public void hyperlinkUpdate(HyperlinkEvent e) {
                if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
                    try {
                        String rowcode = e.getURL();
                int row = Integer.parseInt(rowcode.replace("#row",""));
                    } catch (IOException ioe) {
                        ioe.printStackTrace();
                    }
                }
            }

        });

现在在row中,您应该具有行号。

© www.soinside.com 2019 - 2024. All rights reserved.