ScrollPane与PaintSurface一起使用

时间:2013-12-07 15:08:49

标签: java swing jpanel jscrollpane graphics2d

我正在尝试制作迷你油漆计划。 我正在尝试在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 个答案:

答案 0 :(得分:1)

您正在错误地使用JScrollPane。基本代码是:

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

首先阅读Swing Tutorial了解使用所有Swing组件的基础知识。