。。我想让窗体上面显示一张类似网页里logo的图片。。下面是一个文本框和一个用来打开文件的按钮,那个actionPerformed函数是用来获取文件路径的,重点是那个窗体的大小我设置了400*400但实际大小没有变化,而那张放在北边的图片也显示不出来,请指教,代码如下:
package ft;
import java.awt.BorderLayout;
import java.awt.FileDialog;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class MyTest extends JFrame implements ActionListener{
JButton jbtn = null;
JTextField jtf = null;
JPanel bp1 = new JPanel();
JPanel bp2 = new JPanel();
public MyTest(){
this.setLayout(new FlowLayout());
jbtn = new JButton("打开..");
jbtn.addActionListener(this);
jtf = new JTextField(30);
ImageP p = new ImageP();
bp2.add(p);
bp1.add(jtf);
bp1.add(jbtn);
this.add(bp1,BorderLayout.SOUTH);
this.add(bp2,BorderLayout.NORTH);
this.setSize(400,400);
this.setVisible(true);
this.pack();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(jbtn)){
int response = 1;
do{
FileDialog fd = new FileDialog(this);
fd.setVisible(true);
String a = fd.getDirectory()+fd.getFile();
System.out.println(a);
this.setVisible(false);
Object[] options = {"是,我要继续生成新XML","否,我想退出程序"};
response=JOptionPane.showOptionDialog(this, "XML已生成,是否继续生成新XML?", "亿阳报表自动化系统",JOptionPane.YES_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
if(response == 1)
{
System.exit(0);
}
}while(response == 0);
}
}
public static void main(String[] args){
new MyTest();
}
}
class ImageP extends JPanel{
JPanel bp2 = new JPanel();
private Image image;
public ImageP(){
try{
image = ImageIO.read(new File("E:\\未命名2.JPG"));
}catch(IOException e){
e.printStackTrace();
}
if(image == null){
System.out.println("222");
}else{
System.out.println("333");
}
}
public void ImageP2(Graphics g){
super.printComponents(g);
g.drawImage(image,0,0,null);
}
}