【发布时间】:2017-11-10 18:07:59
【问题描述】:
我正在尝试将 JScrollpane 添加到我的 JPanel。问题是滚动窗格无法识别我的绘图在框架之外。那么如何正确添加 JScrollpane 呢?
主类:
public MainFrame() extends JFrame{
public MainFrame() {
Container container = getContentPane();
container(new BorderLayout());
container.add(new JScrollPane(new Drawing()));
setSize(1280,720);
setVisible(true);
}
绘图类:
public class Drawing() extends JPanel {
@Override
protected void paintComponent(Graphics g) {
g.drawLine(10, 100, 30000, 10);
}
}
【问题讨论】:
-
为了获得更好的帮助,请尽快发布正确的minimal reproducible example,您是否致电
pack()?你在扩展JFrame吗?这不是一个好主意:见extends JFrame vs calling it inside of class -
我的 MainFrame 扩展了 JFrame,我的 Drawing 类扩展了 JPanel。我没有调用 pack()。
-
您是否阅读了这两个链接?需要 MCVE,因此我们可以更快更好地为您提供帮助
-
我扩展了代码,重现了我的问题
-
很可能,问题在于您的
Drawing面板与您的绘图30000X10的大小不同。您必须专门设置它的大小,它不会根据您绘制的内容自动设置。
标签: java swing jscrollpane paintcomponent