我建了两个类这是主类你运行下看看是不是你要的效果
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Testa extends JFrame implements ActionListener{
JButton jb1,jb2,jb3;
public Testa()
{
jb1=new JButton("ant");
jb1.addActionListener(this);
jb2=new JButton("butterfly");
jb2.addActionListener(this);
jb3=new JButton("caterpillar");
jb3.addActionListener(this);
this.add(jb1,"East");
this.add(jb2,"West");
this.add(jb3,"South");
this.setSize(300, 200);
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new Testa();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb1)
{
new XDialog();
}else if(e.getSource()==jb2)
{//这些地方类似上面那个
}else if(e.getSource()==jb3)
{
}
}
}
这是第二个类
import java.awt.*;
import javax.swing.*;
public class XDialog extends JFrame{
MyPanel mp;
public XDialog()
{
mp=new MyPanel();
this.add(mp);
this.setSize(200, 100);
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
class MyPanel extends JPanel{
protected void paintComponent(Graphics g)
{
Image image=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/01.jpg"));//图片我是直接存储在src下的我用的eclipse 可能图片位置会有些不一样你改改这里
g.drawImage(image, 0,0,this);
}
}