滚动条未在JScrollpane中显示

时间:2013-10-28 13:01:01

标签: java swing jlayeredpane

实际上我正在向Jscrollpane添加Jlayeredpane,然后再将Jlabel添加到Jlayeredpane。由于jlayeredpane具有null布局,因此我明确地发布了jlabel的大小。在Jlabel中我正在设置图像。

但问题是这里没有显示滚动条。请帮助设计缺陷或引导我选择其他方法。

1 个答案:

答案 0 :(得分:0)

它可能是你的期望。但不要使用null布局。 JScrollPane无法使用null布局。

import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

public class ScrollLabel extends JFrame {

    public ScrollLabel() throws Exception {
        setSize(300, 300);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        panel = new JPanel(new GridLayout());
        pane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        label = new JLabel();
        ImageIcon icon = new ImageIcon(ImageIO.read(new File(getClass().getResource("baby.jpg").toURI())));
        label.setIcon(icon);
        panel.add(label);
        add(pane);
        repaint();
    }

    public static void main(String[] args) throws Exception {
        new ScrollLabel();
    }
    JPanel panel;
    JLabel label;
    JScrollPane pane;
}