实际上我正在向Jscrollpane添加Jlayeredpane,然后再将Jlabel添加到Jlayeredpane。由于jlayeredpane具有null布局,因此我明确地发布了jlabel的大小。在Jlabel中我正在设置图像。
但问题是这里没有显示滚动条。请帮助设计缺陷或引导我选择其他方法。
答案 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;
}