我正在尝试使用 jscroll 窗格将图像添加到我的 jframe 中。我尝试了一些方法,但图像仅出现在背景中。像这样的,下面的图像编辑器。
这是我的代码:
private void initComponents(){
jScrollPane1 = new javax.swing.JScrollPane();
ImageImplement panel = new ImageImplement(new ImageIcon(mean.get(0)).getImage());
jScrollPane1.add(panel); setVisible(true); setSize(400,400); setDefaultCloseOperation(EXIT_ON_CLOSE);
}
class ImageImplement extends JScrollPane {
private Image img;
public ImageImplement(Image img) { this.img = img;
Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setSize(size);
setLayout(null); }
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, null); }
}
不要扩展 JScrollPane 也不进行自定义绘制。
相反,你只需创建一个JLabel
与ImageIcon
。然后将标签添加到滚动窗格,并将滚动窗格添加到框架。
所以基本逻辑是:
ImageIcon icon = new ImageIcon(...);
JLabel label = new JLabel( icon );
JScrollPane scrollPane = new JScrollPane( label );
frame.add(scrollPane, BorderLayout.CENTER);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)