你好我想知道如果我在桌面应用程序中使用GridLayout,如何在JPanel的底部添加ScrollBar,据我所知GridLayout只接受colums,rows和水平和垂直间隙的参数数量。那么如何添加滚动条并使用它来查看JPanel中的信息?
答案 0 :(得分:3)
将JPanel
与GridLayout
放入JScrollPane
。例如。正如两列GridLayout
所示,它显示添加到nested layout example的标签。
答案 1 :(得分:2)
如果您希望JSrollBar使用gridlayout滚动JPanel,则将网格布局放入滚动窗格(记住扩展可滚动界面)
阅读this page of the tutorial以了解如何使用。
如果您想使用JScrollBar中的事件来更改面板的可见区域,请将面板放在另一个面板中,底部带有JScrollbar。
这是一个绿色面板和底部滚动条
的示例public class Window extends JFrame {
public Window() {
setPreferredSize(new Dimension(500, 500));
setMinimumSize(new Dimension(500, 500));
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(100, 100));
panel.setBackground(Color.GREEN);
getContentPane().add(panel, BorderLayout.CENTER);
JScrollBar scrollBar = new JScrollBar(JScrollBar.HORIZONTAL);
scrollBar.setMinimum(0);
scrollBar.setMaximum(100);
scrollBar.setBlockIncrement(30);
scrollBar.addAdjustmentListener(new AdjustmentListener() {
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
System.out.println("Adjustment changed");
}
});
getContentPane().add(scrollBar, BorderLayout.SOUTH);
setVisible(true);
}
public static void main(String[] args) {
new Window();
}
}