java小程序如何实现以下操作:点击菜单选项中的“选择图片”出现一个打开文件对话框,可以自己选择图片
1个回答
展开全部
自己写的,不过有一点就是图片的大小是固定的
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
public class Tupian extends JFrame implements ActionListener{
JLabel jl=new JLabel("图片");
JMenuBar jmb=new JMenuBar();
JMenu jm=new JMenu("文件");
JMenuItem jmi=new JMenuItem("选择图片");
JPanel jp=new JPanel(new FlowLayout(FlowLayout.CENTER));
public Tupian() {
super("浏览图片");
jmb.add(jm);
jm.add(jmi);
jp.add(jl);
jmi.addActionListener(this);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
this.add(jmb,BorderLayout.NORTH);
this.add(jp,BorderLayout.CENTER);
this.setSize(800,600);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
JFileChooser chooser=new JFileChooser();
int i=chooser.showOpenDialog(this);
if(i==chooser.APPROVE_OPTION){
Image image=new ImageIcon(chooser.getSelectedFile().getPath()).getImage();//调整
image=image.getScaledInstance(300, 400, Image.SCALE_DEFAULT );//图像300,400
jl.setIcon(new ImageIcon(image));
jl.setText("");
}
if(i==chooser.CANCEL_OPTION)return;
}
public static void main (String[] args) {
new Tupian();
}
}
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
public class Tupian extends JFrame implements ActionListener{
JLabel jl=new JLabel("图片");
JMenuBar jmb=new JMenuBar();
JMenu jm=new JMenu("文件");
JMenuItem jmi=new JMenuItem("选择图片");
JPanel jp=new JPanel(new FlowLayout(FlowLayout.CENTER));
public Tupian() {
super("浏览图片");
jmb.add(jm);
jm.add(jmi);
jp.add(jl);
jmi.addActionListener(this);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
this.add(jmb,BorderLayout.NORTH);
this.add(jp,BorderLayout.CENTER);
this.setSize(800,600);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){
JFileChooser chooser=new JFileChooser();
int i=chooser.showOpenDialog(this);
if(i==chooser.APPROVE_OPTION){
Image image=new ImageIcon(chooser.getSelectedFile().getPath()).getImage();//调整
image=image.getScaledInstance(300, 400, Image.SCALE_DEFAULT );//图像300,400
jl.setIcon(new ImageIcon(image));
jl.setText("");
}
if(i==chooser.CANCEL_OPTION)return;
}
public static void main (String[] args) {
new Tupian();
}
}
追问
用这种的行不
if(i==fileChooser.APPROVE_OPTION)
{ calendarImage.setImageFile (new File() ); }
new file()这括号里怎么写才能显示你点击选择的图片啊?
追答
你要的是缩略图吗?那个需要在JFileChooser面板上自己添加
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询