package ex1;
import java.applet.AudioClip;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JLabel;
@SuppressWarnings("serial")
public class J_WenDu extends JApplet implements ActionListener
{
public JTextField first,three;
public JComboBox chose;
public Button ecquilButton,starButton,stopButton;
public Panel Imagepanel;
public JPanel lastpanel;
AudioClip music;
//小应用程序启动时先调用此函数,完成界面设计
public void init()
{
resize(800,600);
Container c=getContentPane();
c.setLayout(new BorderLayout());//小应用程序内容窗格设为边界布局
lastpanel=new JPanel();
lastpanel.setLayout(new GridLayout(1,4));//南部的面板设为网格布局
first=new JTextField(10);
three=new JTextField(10);
String[]tybe={"转换为摄氏温度","转换为华氏温度"};
chose=new JComboBox(tybe);
ecquilButton=new Button("=");
ecquilButton.addActionListener(this);
lastpanel.add(first);
lastpanel.add(chose);
lastpanel.add(ecquilButton);
lastpanel.add(three);
c.add(lastpanel,BorderLayout.SOUTH);
stopButton=new Button("停止音乐");
starButton=new Button("开始音乐");
stopButton.addActionListener(this);//给按钮注册事件监听器
starButton.addActionListener(this);
Imagepanel=new Panel();//放图片的面板
Panel buttonPanel=new Panel();//放音乐播放和停止按钮的面板
ImageIcon at=new ImageIcon("温度.jpg");
Image image=at.getImage();
JLabel label=new JLabel(new ImageIcon(image.getScaledInstance(800,700,Image.SCALE_REPLICATE)));
label.setPreferredSize(new Dimension(800,700));
Imagepanel.add(label);
buttonPanel.add(stopButton);
buttonPanel.add(starButton);
c.add(Imagepanel,BorderLayout.CENTER);
c.add(buttonPanel,BorderLayout.NORTH);
music=getAudioClip(getCodeBase(),"好听的音乐.wav");
music.loop();
}
//有事件发生时调用此函数
public void actionPerformed(ActionEvent e)
{
Button source=(Button) e.getSource();//获取最初的事件源
String whice=source.getLabel();
if(whice.contentEquals("="))
{
String heat=first.getText();
Double a=Double.parseDouble(heat);
String select=(String)chose.getSelectedItem();
chose.setEnabled(true);
if(select.contentEquals("转换为摄氏温度"))
{
a=(a-32)/1.8;
paint(a);
three.setText(a.toString()+"C");
}
else
{
paint(a);
a=a*1.8+32;
three.setText(a.toString()+"F");
}
}
if(whice.contentEquals("停止音乐"))
{
music.stop();
}
if(whice.contentEquals("开始音乐"))
{
music.loop();
}
}
public void paint(Double a)
{
Graphics g=Imagepanel.getGraphics();//创建供绘制图像的图形上下文
if(a<15)
{
ImageIcon at=new ImageIcon("冬.jpg");
Image image=at.getImage();
g.drawImage(image,0,0,800,700,this);
}
if(15<=a&&a<22)
{
ImageIcon at=new ImageIcon("春.jpg");
Image image=at.getImage();
g.drawImage(image,0,0,800,700,this);
}
if(22<=a&&a<27)
{
ImageIcon at=new ImageIcon("秋.jpg");
Image image=at.getImage();
g.drawImage(image,0,0,800,700,this);
}
if(27<=a)
{
ImageIcon at=new ImageIcon("夏.jpg");
Image image=at.getImage();
g.drawImage(image,0,0,800,700,this);
}
}
}