【发布时间】:2012-03-12 16:52:36
【问题描述】:
我有一个 JFrame,在这个 JFrame 中我有一个 JPanel,我可以在上面进行绘制,这个 Panel 可以是任意大小,所以我将它放入一个 JScrollpane 中,以便在面板大于窗口屏幕大小时让我滚动。
不幸的是没有按我的预期工作:
-
使 JFrame 窗口小于 JPanel 大小不会显示滚动条
-
JScrollPane 的大小现在似乎锁定到我添加到其中的 JPanel 的大小,与之前一样,它调整到它的 JFrame 窗口的边界(它仍然有点这样做,但现在只是垂直?!)
-
无论我为首选大小设置什么,JPanel 似乎都假定 JScrollpane 的大小
我确定我在做一些愚蠢的事情,如果有人能指出我将不胜感激!
JPanel imageCanvas = new JPanel(); // 'Canvas' to draw on
JScrollPane scrollPane = new JScrollPane();
// set size of 'canvas'
imageCanvas.setMinimumSize(new Dimension(100,100));
// Scroll pane smaller then the size of the canvas so we should get scroll bars right?
scrollPane.setMinimumSize(new Dimension(50,50));
// Add a border to 'canvas'
imageCanvas.setBorder(BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
scrollPane.setViewportView(imageCanvas);
【问题讨论】:
标签: java swing jpanel jscrollpane layout-manager