Java 如何将JScrollpane添加到JPanel?

Java 如何将JScrollpane添加到JPanel?,java,swing,jframe,jpanel,jscrollpane,Java,Swing,Jframe,Jpanel,Jscrollpane,我有一条线延伸到屏幕之外,所以我看不见它。因此,我需要在Test2类中添加一个JScrollpane,但当我尝试时,它没有出现 import javax.swing.*; import java.awt.*; public class Test extends JFrame { Test() { setSize(1000, 500); setDefaultCloseOperation(EXIT_ON_CLOSE); setContent

我有一条线延伸到屏幕之外,所以我看不见它。因此,我需要在Test2类中添加一个JScrollpane,但当我尝试时,它没有出现

import javax.swing.*;
import java.awt.*;

public class Test extends JFrame {

    Test() {
        setSize(1000, 500);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setContentPane(new Test2());
        setVisible(true);
    }

    public static void main(String[] args) {
        new Test();
    }
}

class Test2 extends JPanel {

    protected void paintComponent(Graphics g) {
        g.drawLine(100, 100, 2000, 100);
    }
}

您在代码中没有使用JscrollPanel,这就是为什么您看不到滚动条!我想这会管用的

import javax.swing.*;
import java.awt.*;
public class Test extends JFrame {
Test() {
    setSize(1000, 500);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    getContentPane().setLayout(new FlowLayout());
    Test2 test2=new Test2();
    JScrollPane scrollableLine = new JScrollPane(test2);
scrollableLine.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    scrollableLine.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    setContentPane(scrollableLine);
    setVisible(true);
}

public static void main(String[] args) {
    new Test();
}
}

class Test2 extends JPanel {

@Override
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    g.drawLine(100, 100, 2000, 100);

}
@Override
public Dimension getPreferredSize() {
    return new Dimension(3000, 3000);
}

}

您显示的代码没有尝试使用JScrollPane。是的,它工作正常,JScrollPane显示在侧面。但我无法移动它们,让它们看得更右或更低。知道怎么修吗?