我尝试制作imageviewer,代码如下
import javax.swing.*;
import java.awt.event.*;
import java.IO.*;
public class javaImageViewer extends JFrame{
public javaImageViewer(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(200,100);
JButton openButton = new JButton("Open Images");
getContentPane().add(openButton);
openButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
JFileChooser chooser = new JFileChooser(".");
int status = chooser.showOpenDialog(javaImageViewer.this);
if(status == JFileChooser.APPROVE_OPTION){
try{
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(chooser.getSelectedFile().toURL()));
frame.add(label);
frame.setSize(500,500);
frame.setVisible(true);
}
catch(Exception e2){
System.out.println("Error"+e2);
}
}
}
});
}
public static void main(String [] args){
javaImageViewer tim = new javaImageViewer();
tim.setVisible(true);
}
}
但是当我从相机打开图像时,它总是显示在帧大小之上 我不知道如何使图像符合我的框架尺寸?
最佳答案
为了以全尺寸放置图像,您可以尝试制作自己的 JPanel,重写 PaintComponent 方法,并在该方法中使用 g.DrawImage ,
其他解决方案,也许更简单的方法是将 JPanel 尺寸设置为与图像相同的尺寸,并将此 JPanel 添加到 JScrollPane ,这样将显示滚动条以进行导航
关于java - 如何使图像大小可调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9287829/