0

我已经尝试了几个小时来获得一个简单的滚动面板。假设我正在尝试在面板上显示一个大图像(太大而无法一次全部看到),因此希望能够使用 setLocation() 移动显示此图像的面板,由我们将调用的某种方法提示滚动()。我知道滚动面板需要鼠标移动侧面的条,但我不想要这个。我希望它根据键盘输入/方法调用移动。我该如何解决?这是我正在做的基本版本:

Frame f = new JFrame();
Panel p = new JPanel();

f.setSize(2000,2000);
p.setLocation(X, Y);
f.getContentPane().add( mainPanel);
f.repaint();

这将在同一位置显示 JPanel,无论 X 和 Y 是什么。如果我将布局设置为 null 它根本不会显示。请帮我

4

1 回答 1

3

阅读 JScrollPane 和 JViewport API。调用 setLocation 对您没有任何用处。相反,您必须更改视口正在查看的内容。

例如,视口setViewPosition(...)可以工作。而空值布局几乎永远不是答案。

于 2013-10-06T01:55:29.373 回答