Java SWT 浏览器滚动到页面底部

标签 java swt

我有一个浏览器,我正在以与此类似的方式向其中添加内容:

browser.setText(browser.getText() + newText());

然后,当 html 太多而无法容纳在 View 中时,我希望浏览器向下滚动,因此在每次调用 setText() 之后,我也会这样做(如答案所建议的那样)对于网络上其他地方的这个问题):

browser.execute("window.scrollTo(0, document.body.scrollHeight)");

但是,这行不通!我也尝试过使用 anchor 滚动到,但这也不起作用。

如何实现这一点?相反,我的方法的问题出在哪里(这似乎对其他人有效)?

谢谢

编辑:这是我的实际代码:

protected void createContents() {
    shell = new Shell();
    shell.setSize(450, 300);
    shell.setText("SWT Application");

    final Browser browser = new Browser(shell, SWT.NONE);
    browser.setBounds(10, 10, 430, 220);

    Button btnNewButton = new Button(shell, SWT.NONE);
    btnNewButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseUp(MouseEvent e) {
            browser.setText(browser.getText() + "<p>weeee!!!</p>");
            browser.execute("window.scrollTo(0, document.body.scrollHeight)");
        }
    });
    btnNewButton.setBounds(10, 236, 430, 32);
    btnNewButton.setText("New Button");

}

最佳答案

好吧,我已经想出了一种方法来做到这一点。它与我上面的方法非常相似,只是代替了

browser.setText(browser.getText() + "<p>weee!!</p>");

我用过

String stringToAdd = "wee";
browser.execute(String.format("document.write('%s')", stringToAdd
                .replace("\\", "\\\\")
                .replace("'", "\\'")
                .replace("\"", "\\\"")));

仍然不确定我最初的方法有什么问题......

关于Java SWT 浏览器滚动到页面底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11572402/

相关文章:

java - java中int转char

java - java中匹配文件路径的正则表达式

java - SWT/JFace : How to set max textlength in TableViewerColumn

java - Eclipse SWT ScrolledComposite 拒绝滚动

java - Glassfish 安全 : Role changes should take effect immediately

java - 如何计算算术表达式(字符串)并返回结果?

select - 如何创建无法选择的只读 SWT 文本? (通过键盘和鼠标)

java - WizardDialog 中的 StackLayout 以及具有固定高度和动态显示滚动条的可变多行文本

java - JFace 对话框单元编辑器 : how to make buttons always appear?

Java跨语言加密