【发布时间】:2012-05-15 09:37:33
【问题描述】:
这个基于JScrollPane 的窗口是JSplitPane 的顶部。
getBounds()、getWidth()、getHeight() 都返回窗口的完整大小,包括不可见(可滚动)部分。
我只想知道可见部分的尺寸。
【问题讨论】:
标签: java swing jscrollpane viewport jsplitpane
这个基于JScrollPane 的窗口是JSplitPane 的顶部。
getBounds()、getWidth()、getHeight() 都返回窗口的完整大小,包括不可见(可滚动)部分。
我只想知道可见部分的尺寸。
【问题讨论】:
标签: java swing jscrollpane viewport jsplitpane
这是一个仅打印可见部分的高度和宽度的示例,
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);
}
}
【讨论】:
你看过JViewport,你可以从JScrollPane推导出JViewport
【讨论】:
我认为您正在寻找JComponent#getVisibleRect()。
返回
Component的“可见矩形” - 此组件的可见矩形new Rectangle(0, 0, getWidth(), getHeight())与其所有祖先的可见矩形的交集。
【讨论】: