我正在尝试使用 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
即可。然后将标签添加到滚动 Pane ,并将滚动 Pane 添加到框架。
所以基本逻辑是:
ImageIcon icon = new ImageIcon(...);
JLabel label = new JLabel( icon );
JScrollPane scrollPane = new JScrollPane( label );
frame.add(scrollPane, BorderLayout.CENTER);
关于java - 无法在 jframe 内的 jscrollpane 中添加图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44119493/