Java编写一个显示图像的程序,当图像大于窗口大小时出现滚动条
时间: 2024-01-22 20:17:34 浏览: 80
显示图片滚动条一例,c#
可以使用Java Swing库来编写一个显示图像的程序,并在需要时添加滚动条。以下是一个简单的示例代码:
```java
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class ImagePanel extends JPanel {
private Image image;
public ImagePanel(Image image) {
this.image = image;
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, null);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(image.getWidth(null), image.getHeight(null));
}
public static void main(String[] args) throws IOException {
Image image = ImageIO.read(new File("image.jpg"));
ImagePanel panel = new ImagePanel(image);
JFrame frame = new JFrame("Image Viewer");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JScrollPane scrollPane = new JScrollPane(panel);
frame.getContentPane().add(scrollPane);
frame.pack();
frame.setVisible(true);
}
}
```
这个程序会读取名为 "image.jpg" 的文件,并将其显示在窗口中。如果图像的大小大于窗口大小,将自动添加滚动条。
阅读全文