zoukankan      html  css  js  c++  java
  • 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);
    		}
    		
    		
    	}
    
    }
    

      

  • 相关阅读:
    Mysql: 一个死锁场景的解决
    Mysql: 创建新的账号
    安全评测:BashDoor
    BeanFactory和FactoryBean的区别:
    linux 下将war解压到当前目录
    学习BoolanC++笔记_01(C++面向对象高级编程(上)第一周)
    学习BoolanC++笔记_00(预备)
    Linux (Centos) 上安装Nexus OSS 3 并搭建docker私有仓库
    linux(Centos7)搭建rpm仓库
    树莓派4b安装 manjaro linux
  • 原文地址:https://www.cnblogs.com/qurui1997/p/10497891.html
Copyright © 2011-2022 走看看