java - 如何获取基于JScrollPane的窗口可见部分的尺寸

标签 java swing jscrollpane viewport jsplitpane

这个基于 JScrollPane 的窗口是 JSplitPane 的顶部部分。

getBounds(), getWidth(), getHeight() 都返回窗口的完整尺寸,包括不可见的(可滚动的)部分。

我只想知道可见部分的尺寸。

最佳答案

这是一个只打印可见部分的高度和宽度的例子,

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;

public class TestWidth {

    public static void main(String[] args) {

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JTextPane newsTextPane = new JTextPane();
        newsTextPane.setEditable(false);

        JScrollPane scrollPane = new JScrollPane(newsTextPane);

        frame.add(scrollPane);
        frame.setSize(300, 250);
        frame.setVisible(true);

        System.out.println("Height : " + scrollPane.getViewport().getSize().height + "\nWidth :" + scrollPane.getViewport().getSize().width);
    }
}

关于java - 如何获取基于JScrollPane的窗口可见部分的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10472597/

相关文章:

java - JCheckBox 用于缩放上传图片

twitter-bootstrap - jScrollpane 不适用于 Bootstrap 选择器刷新方法

java - Java 中静态变量的延迟初始化 - 执行?

java - 定义设计模式中关系的黑色与白色箭头

java - 将鼠标位置分派(dispatch)给 JList 的自定义单元格渲染器中的组件

javascript - jScrollPane 上的边距/边框隐藏箭头

java - 动态地将固定高度面板添加到 JScrollPane

java - Java制作的小程序可以向服务器发送信息吗?

java - 如何在使用 Future 接口(interface)时删除 java.util.concurrent.RejectedExecutionException

java - 看不到我在 JFrame 中添加的 JButtons(JLabel)