java实现窗体JFrame加载动态图片

public class MyMusic extends JFrame implements ActionListener{
	private JMenuBar jmb;
	private JMenu jm;
	private JMenuItem jml;
	private static  Image image;
	private MyPanel mp=null;
	private JButton paly;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		new MyMusic();
	}
	
	public MyMusic() {
		// 初始化控件
		jmb=new JMenuBar();
		jm=new JMenu("文件");
		jml=new JMenuItem("File") ;
		jml.addActionListener(this);//给file注册监听事件
		jmb.add(jm);
		jm.add(jml);
		//得到图片的资源
		image=Toolkit.getDefaultToolkit().createImage(MyMusic.class.getResource("/music.gif"));
		mp=new MyPanel();
		mp.setLayout(null);
		
		paly=new JButton("播放");
		
		mp.add(paly);
		
		this.add(mp);
		this.setJMenuBar(jmb);	
	
		//处理主窗体
		this.setTitle("java 音乐播放器");
		this.setSize(600, 600);
		this.setLocationRelativeTo(null);
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
	}

	//给按钮设置监听的方法
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getActionCommand().equals("File")){
			JFileChooser jfc=new JFileChooser();
			jfc.setDialogTitle("请选择文件...");
			jfc.setSelectedFile(new File("*.*"));
			jfc.showOpenDialog(null);
			jfc.setVisible(true);
			
			//得到用户的路径
			String FileName=jfc.getSelectedFile().getAbsolutePath();
			System.out.println(FileName);
		}
		
	}
	
	//自己写一个JPanel 继承JPanel 然后在JPanel上画图片
	class MyPanel extends JPanel{
		
		
		@Override
		public void paint(Graphics g) {
			// TODO Auto-generated method stub
			super.paint(g);
			g.drawImage(image,0,0,this);
		}
		
		
	}

}

  

猜你喜欢

转载自www.cnblogs.com/qurui1997/p/10497891.html