Java 调整/添加组件时滚动窗格滚动条至整个Jframe

Java 调整/添加组件时滚动窗格滚动条至整个Jframe,java,swing,scrollbar,scrollpane,Java,Swing,Scrollbar,Scrollpane,我只使用swing组件和布局(非空)编辑了我的项目.所以现在我想在所有框架中添加滚动条,而不仅仅是在一张图片上。当你向下滚动时,调整滚动条的大小并移动滚动条,并在下方显示组件。困难在于框架有很多组件,用户可以添加图片,管理员可以添加标签或其他组件,因此,我不知道在调整帧大小时要重画什么。例如,重画所有我看不到的东西。我粘贴一些代码来告诉我在哪里添加滚动窗格或滚动条 public class Test extends JFrame { private JPanel contentPane; /

我只使用swing组件和布局(非空)编辑了我的项目.所以现在我想在所有框架中添加滚动条,而不仅仅是在一张图片上。当你向下滚动时,调整滚动条的大小并移动滚动条,并在下方显示组件。困难在于框架有很多组件,用户可以添加图片,管理员可以添加标签或其他组件,因此,我不知道在调整帧大小时要重画什么。例如,重画所有我看不到的东西。我粘贴一些代码来告诉我在哪里添加滚动窗格或滚动条

public class Test extends JFrame {

private JPanel contentPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Test frame = new Test();
                frame.setVisible(true);

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the frame.
 */
public Test() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(new SpringLayout());

            //Suppose that here we have many jlabels,jbuttons,jtextfields and other
}

 }
我还列举了一些其他的例子,问题是我不仅要重画一张图片或画一个圆圈,而且还有用户添加的东西。这是一个在线应用程序

我不需要一个带有滚动条示例的小程序,但是我的代码帮助我如何在整个框架中添加滚动条并动态工作。当你向下滚动时,调整滚动条的大小并移动滚动条,并在下面显示组件

是的,你需要一个简单的例子。你应该从有用的东西开始,然后修改它以满足你的需要。您的代码有很多问题:

  • 不要混合AWT和Swing组件
  • 不要使用空布局
  • 不要随机设置组件的大小。每个回转组件都设计为具有一个首选尺寸,在该尺寸下应显示

  • 阅读
    Swing教程
    。您将发现大量示例,这些示例将向您展示如何正确使用Swing组件并在EDT上构建初始GUI。

    1-为什么是AWT?这是一个过时的API;2-看一看-第二次击中从;3-
    null
    layouts无法帮助您解决此问题我知道null布局,但我想如何将所有内容放在我喜欢的位置?我可以使用带有null布局的滚动条吗?使用适当的布局管理器或复合布局管理器。“我可以使用空布局的滚动条吗?”-不容易。
    滚动窗格
    依赖布局管理器提供给它的信息来确定它包含的组件的工作服尺寸,以便它决定何时显示该组件scrollbars@GiorgosM:您的问题表明您尚未阅读布局管理器教程。请这样做,因为这将极大地帮助你。还要注意的是,通过嵌套JPanel(每个都使用自己的简单布局),可以实现易于维护和更新的漂亮复杂GUI。无论如何,我将用Swing组件替换所有组件,尽量不使用空布局和随机大小,并再次检查我已经尝试过的示例,看看是否正确works@GiorgosM,
    我没想到你一定要读Swing教程,布局教程…
    -这就是任何语言编程的内容,你必须先学习基础知识
    不更改组件大小的建议听起来有点倒退
    -这是向前迈出的一步,在您至少了解基本知识之前,请不要发表评论。