java JScrollpane与另一个JPanel中的JPanel
我想在我的基本JFrame
中添加一个JScrollpane
和另一个JPanel
中的JPanel
JPanel outer = new JPanel(new GridBagLayout());
JPanel drawPanel = new JPanel(new GridBagLayout());
drawPanel.add(new DrawingBoard(500,500));
drawPanel.setBackground(Color.WHITE);
JScrollPane scrollPane = new JScrollPane(drawPanel);
outer.add(scrollPane);
this.add(outer, BorderLayout.CENTER);
如果我将带有JPanel
的JScrollpane
直接添加到JFrame
,则JScrollpane
有效。但是现在,当我将帧的大小减小到500像素以下时,JPanel
变小了,如第二张图片所示
如何使JScrollPane
工作
# 1 楼答案
GridBagLayout
正是人们对它的期望。当可用空间太小,无法满足构件的首选尺寸时,将使用构件的最小尺寸取而代之的是,考虑使用^ {< CD2>}和一个^ {< CD3>}来生成滚动窗格
周围的空白空间。您还可以使用
weightx/y
、fill
和insets
的GridBagConstraints
属性有关更多详细信息,请查看How to use GridBagLayout