⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resourcelocator.java

📁 180个针对Java初学者的简单实例,包含了180個適合與初學者的源碼實例
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.net.*;
import java.applet.*;
//ResourceLocator.java 演示用资源定位器装载图片和音频文件到应用程序和小应用程序
public class ResourceLocator extends JApplet
    implements ActionListener,ItemListener{
	//图像画板演示一个图片
	private ImagePanel imagePanel =new ImagePanel();
	//Combo box选择一个国家
	private JComboBox jcboCountry = new JComboBox();
	//Button 用来播放音频文件
	private JButton jbtPlayAnthem = new JButton("Play Anthem");
	//选择国家
	private String country = "china";
	/** 初始化applet*/
	public void init(){
		    JPanel p = new JPanel();
		p.add(new JLabel("选择一个国家"));
		p.add(jcboCountry);
		p.add(jbtPlayAnthem);
		//初始化 combo box
		jcboCountry.addItem("China");
		jcboCountry.addItem("Norway");
		jcboCountry.addItem("America");
		jcboCountry.addItem("India");
		jcboCountry.addItem("Germany");
		jcboCountry.addItem("Denmark");
		//默认中国国旗
		imagePanel.showImage(createImage("china.jpg"));
		imagePanel.setPreferredSize(new Dimension(300,300));
		getContentPane().add(p,BorderLayout.NORTH);
		getContentPane().add(imagePanel,BorderLayout.CENTER);
		imagePanel.setBorder(new LineBorder(Color.black,1));
		//注册监听器
		jbtPlayAnthem.addActionListener(this);
		jcboCountry.addItemListener(this);
	}
	    /** 处理响应事件*/
	public void actionPerformed(ActionEvent e){
		//得到文件名
		String filename = null;
		//.wav 音频文件存放在文件夹anthem下
		if (country.equals("China"))
			filename = "china.wav";
		else if(country.equals("Norway"))
			filename = "norway.wav";
		else if(country.equals("American"))
			filename = "american.wav";
		else if(country.equals("India"))
			filename = "india.wav";
		else if(country.equals("Germany"))
			filename = "germany.wav";
		else if(country.equals("Denmark"))
			filename = "denmark.wav";
		//创建音频剪辑并播放它
		createAudioClip(filename).play();	
	}
	/**处理ItemEvent*/
	public void itemStateChanged(ItemEvent e){
		//选择一个国家
		country = (String)jcboCountry.getSelectedItem();
		//得到文件名
		String filename = null;
		//.jpg文件存放在文件夹image中
		if (country.equals("China"))
			filename = "china.jpg";
		else if(country.equals("Norway"))
			filename = "norway.jpg";
		else if(country.equals("American"))
			filename = "american.jpg";
		else if(country.equals("India"))
			filename = "india.jpg";
		else if(country.equals("Germany"))
			filename = "germany.jpg";
		else if(country.equals("Denmark"))
			filename = "denmark.jpg";
		//从文件夹image中装载图片,显示在面板上
		imagePanel.showImage(createImage(filename));	
	}
	/** 从指定的文件中创建一个音频*/
	public AudioClip createAudioClip(String filename){
		//获得文件的URL
		URL url = this.getClass().getResource("anthem/"+filename);
		//返回音频剪辑
		return Applet.newAudioClip(url);
	}
	/** 从指定的文件中创建一个图片*/
	public Image createImage(String filename){
		//获得文件的URL
		URL url = this.getClass().getResource("image/"+filename);
		//获得一个image icon
		ImageIcon imageIcon = new ImageIcon(url);
		//返回图片
		return imageIcon.getImage();
	 }
	 /** 主函数*/
	public static void main(String []args){
		//创建一个窗体
		JFrame frame = new JFrame("升旗奏国歌");
		//创建一个applet实例
		ResourceLocator applet = new ResourceLocator();
		//添加实例applet到窗体上
		frame.getContentPane().add(applet,BorderLayout.CENTER);
		//激活init() 和start()
		applet.init();
		applet.start();
		//演示窗体
		frame.pack();
		frame.setVisible(true);	
	}
}
class ImagePanel extends JPanel {
       public ImagePanel panel;
       public Image img; 
          //构造方法
	   public ImagePanel() {
		this.setBackground(Color.white);
	   }
	   //显示图片
	   public void showImage(Image image){
		   img=image;
		   panel = new ImagePanel();
	   }
	   //绘制图片
	   public void paint(Graphics g){
		   g.drawImage(img,0,0,this);
	   }
	   //设置窗口大小
	   public void setPreferredSize(Dimension d){
		    setSize(d);
	   } 
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -