有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

与PaintSurface一起使用的java滚动窗格

我正在尝试制作一个迷你绘画程序。 我尝试在JPanel中使用滚动条和绘制曲面(绘制曲面在中间,滚动条在南部和东部)

    CPanel.setLayout(new BorderLayout());
    JScrollPane horiPane = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
    JScrollPane vertiPane = new JScrollPane(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
    CPanel.add(horiPane, BorderLayout.EAST);
    CPanel.add(vertiPane, BorderLayout.SOUTH);      
    PaintSurface p = new PaintSurface();
    p.setPreferredSize(dim);
    CPanel.add(p, BorderLayout.CENTER); 

问题是,当我调整它的大小时,它只是调整绘制表面和JPanel的大小以固定新的大小,而不允许滚动

我怎样才能解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    您错误地使用了JScrollPane。基本准则是:

    PaintSurface paintSurface = new PaintSurface();
    JScrollPane scrollPane = new JScrollPane( paintSurface );
    cPanel.add(scrollPane, BorderLayout.CENTER);
    

    从阅读Swing Tutorial开始,了解使用所有Swing组件的基本知识