Java Graphics2D、JPanel、JScrollPane

Java Graphics2D、JPanel、JScrollPane,java,swing,jpanel,jscrollpane,graphics2d,Java,Swing,Jpanel,Jscrollpane,Graphics2d,我现在正在做一个项目,我找不到解决问题的办法 这就是我的问题:我有一个JFrame,然后我添加了一个容器JPanel,我向这个容器面板添加了另外两个JPanel,第一个面板(InputPanel)用于用户输入,第二个面板(Board)用于根据用户输入显示指定的算法 但是显示的算法太大了,所以我想我会在DisplayPanel中添加一个JScrollPane,但是它没有像我想象的那样工作。这是一张图片,红色矩形是我添加JScollPane后更改的区域: 请注意,在我的Board类中,我覆盖了pai

我现在正在做一个项目,我找不到解决问题的办法

这就是我的问题:我有一个JFrame,然后我添加了一个容器JPanel,我向这个容器面板添加了另外两个JPanel,第一个面板(InputPanel)用于用户输入,第二个面板(Board)用于根据用户输入显示指定的算法

但是显示的算法太大了,所以我想我会在DisplayPanel中添加一个JScrollPane,但是它没有像我想象的那样工作。这是一张图片,红色矩形是我添加JScollPane后更改的区域:

请注意,在我的Board类中,我覆盖了paintComponent(图形g)来绘制算法

主框架中的我的代码:

    container = new JPanel();
    container.setLayout(new BorderLayout());

    board = new Board();
    container.add(board, BorderLayout.CENTER);

    inputPanel = new InputPanel(board);
    container.add(inputPanel, BorderLayout.SOUTH);

    pane = new JScrollPane(board);
    pane.setViewportView(board);
    pane.setPreferredSize(new Dimension(700, 0));
    container.add(pane, BorderLayout.WEST);

    add(container);

我最初的计划是在板面板上添加一个水平滚动窗格。有人可以发布一个示例代码,或者指出我的问题吗?

您在容器中添加了两次板。将JScrollPane添加到容器的中心,并继续将board传递给JScrollPane的构造函数。如果您想通过JScrollPane添加电路板,请不要将电路板单独添加到容器中。

谢谢,这部分解决了问题。我还忘了设置板的首选大小,所以scollpane最初不起作用,但现在很好。谢谢:)