请帮忙,JPanel使用setLocation滚动

时间:2013-10-06 01:47:30

标签: java swing jframe jpanel border-layout

我一直在努力寻找一个简单的滚动面板。假设我试图在面板上显示一个大图像(太大而无法一次看到),因此希望能够使用setLocation()移动显示此图像的面板,我们将调用某种方法提示滚动()。我知道滚动面板需要鼠标移动侧面的条形图,但我不希望这样。我希望它基于键盘输入/方法调用移动。我该如何解决? 这是我正在做的基本版本:

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

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

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

1 个答案:

答案 0 :(得分:3)

阅读JScrollPane和JViewport API。调用setLocation不应该对你有用。相反,你必须改变视口的内容。

视口的setViewPosition(...)可以起作用。而nulls布局几乎永远不是答案。