由于某种原因,我无法在小程序内显示滚动窗格。

public void init() {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();
    JScrollPane scrPane = new JScrollPane(panel);
    scrPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    scrPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    scrPane.setLayout(new ScrollPaneLayout());
    frame.getContentPane().add(scrPane);
    this.setVisible(true);
}

最佳答案

您永远不会显示您创建的JFrame!

这个:

frame.getContentPane().add(scrPane):
this.setVisible(true);   // this != frame


不起作用,因为您创建了一个JFrame然后将其忽略。

无论如何,您都不应该让小程序显示JFrame。如果需要显示一个单独的窗口,请考虑显示一个JDialog。更好的是,为什么不简单地将JScrollPane放在applet本身中呢?

例如。,

public void init() {
    //JFrame frame = new JFrame();

    JPanel panel = new JPanel();
    JScrollPane scrPane = new JScrollPane(panel);
    scrPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    scrPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
    //  scrPane.setLayout(new ScrollPaneLayout());
    //  frame.getContentPane().add(scrPane);

    getContentPane().add(scrPane);

    // this.setVisible(true);
}

09-30 11:41