这个基于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); } }