启动类 MainFrame
import java.awt.EventQueue;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
public class MainFrame extends JFrame implements MouseListener,Runnable{
int fruitNumber = 0;
Farm[] farms = new Farm[9];
Crop[] crops = new Crop[9];
Farm farm = new Farm();
Crop crop = new Crop();
JLabel storage;
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
FileInputStream fis = null;
FileOutputStream fos = null;
DataInputStream dis = null;
DataOutputStream dos = null;
//生长期1小时,开花期2小时,结果期3小时
public static final long GROWTIME = 100060,BLOOMTIME = 1000602,FRUITTIME = 100060*3;
public MainFrame(){
super();
setTitle(“打造自己的开心农场”);
setBounds(500,200,900,600);//设置窗口位置和大小
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addMouseListener(this);
final BackgroundPanel backgroundPanel = new BackgroundPanel();
Image bk = Toolkit.getDefaultToolkit().getImage(“img/farmBackground.png”);
backgroundPanel.setImage(bk);
backgroundPanel.setBounds(0,0,855,553);//设置游戏面板位置和大小
getContentPane().add(backgroundPanel);
storage = new JLabel();
storage.setHorizontalAlignment(SwingConstants.CENTER);
storage.setText(“您的仓库没有任何果实,快快播种吧!”);
storage.setBounds(200,70,253,28);//标签位置
backgroundPanel.add(storage);
initlize();
for(Crop temp:crops){
backgroundPanel.add(temp);
}
final JButton button_1 = new JButton();//播种
button_1.setRolloverIcon(new ImageIcon(“img/播种1.png”));//移动到图标上显示的图片
button_1.setBorderPainted(false);
button_1.setContentAreaF