无法在jframe内的jscrollpane中添加图像
我正在尝试使用jscroll pane将图像添加到我的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并且不要进行自定义绘制。
相反,您只需使用ImageIcon
创建一个JLabel
。 然后将标签添加到滚动窗格,将滚动窗格添加到框架。
所以基本逻辑是:
ImageIcon icon = new ImageIcon(...); JLabel label = new JLabel( icon ); JScrollPane scrollPane = new JScrollPane( label ); frame.add(scrollPane, BorderLayout.CENTER);