用Java编的图片阅读器想加个效果, 求助各位!!!

来源:百度知道 编辑:UC知道 时间:2024/05/28 08:22:19
刚写好一个JPEG图片显示程序, Java写的。 我现在想加个效果, 就是:每当打开一张图的时候, 我整个视窗(JFrame)的大小随之变化(图片大视窗大, 图片小视窗小)。 麻烦说的详细点, 可用并且效果好的话另外追加20分, 谢谢各位!!!
二楼的, 你回答我看不懂, to be honest. 我再说下我程序的细节, 希望你根据我的情况再回答看看,谢!我的主类是大体是这样的:
class MainWindow extends JFrame implements ActionListener {
public MainWindow(String title) {
……
}
public void actionPerformed(ActionEvent e) {
……
}
其它一些方法……
public static void main(String args[]) {
new MainWindow("图片显示器");
}
}
也就是说具体对MainWindow的实例, 要它随图片的大小而实时调整大小怎么操作?

///我按你的框架改了一下~~
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.imageio.*;
import java.awt.image.*;
import java.io.*;

public class MainWindow extends JFrame implements ActionListener {

BufferedImage src = null;
int width = 0;
int height = 0;
JFileChooser chooser = null;
JButton button = new JButton("图片浏览");

public MainWindow(String title) {
setTitle(title);
init();
}

public void init(){
chooser = new JFileChooser();
chooser.setDialogTitle("请选择图片");
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
button.addActionListener(this);
setLayout(new BorderLayout());
add(button, BorderLayout.NORTH);
setLocation(300,200);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

public void paint(Graphics g){
if(s