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

📄 leveledit.java

📁 一个飞机调度员模拟训练程序,可以添加跑道数量,控制飞机飞行的速度.默认的密码可以在AtcSystem类里面修改,其中内置了三个用户名.这套系统是我和几个国外同学合力开发的,希望对大家有帮助
💻 JAVA
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.event.*;
import java.lang.*;
import java.io.*;
 /**
 * @author Ran Zhao  
 * @version 09/03/2007
 */
public class LevelEdit implements ActionListener
{
    private static LevelEdit singleton;
    private JFrame frame;    
    private JLabel label;
    private JRadioButton newLevel;
    private JRadioButton existLevel;
    private JTextField nLevel;
    private JList list;
    private JScrollPane listScroller;
    private JLabel labelr;
    private JLabel labela;
    private JLabel labelf;
    private JLabel labeld;
    private JTextField tFieldr;
    private JTextField tFielda;
    private JTextField tFieldf;
    private JTextField tFieldd;
    private JButton ButtonSave;
    private JButton ButtonMenu;
    private ArrayList<Level> levelt = new ArrayList<Level>();
    private String[] name;
    private String[] runway;
    private String[] aircraft;
    private String[] frequency;
    private String[] description;
    private FileWriter output;  
    private Level newlevel;
    private Scanner filein;
    private DefaultListModel listModel;
    
    
    
    public LevelEdit()
    {
        singleton = this;
        openReadFile();

        creatArray(levelt);
        //System.out.print(name[0]);
       
        frame = new JFrame("Level Editor");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800,600);
        
        Container contentPane = frame.getContentPane();
        SpringLayout layout = new SpringLayout();
        contentPane.setLayout(layout);
        
        label = new JLabel("Level Editor");
        label.setFont(new Font(null,Font.BOLD,32));
        newLevel = new JRadioButton("New Level");
        existLevel = new JRadioButton("Exsiting Level");
        ButtonGroup group = new ButtonGroup();
        group.add(newLevel);
        group.add(existLevel);
        nLevel = new JTextField(15);
        
        listModel = new DefaultListModel();
        for (int i=0; i<levelt.size(); i++)
        {
            listModel.addElement(name[i]);
        }
        list = new JList(listModel);
        list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        //list.setSelectedIndex(3);
        listScroller = new JScrollPane(list);
        listScroller.setPreferredSize(new Dimension(100, 100));
        list.addListSelectionListener(new SharedListSelectionHandler());
        
        
                       
        labelr = new JLabel("Runways");
        labela = new JLabel("Aircraft");
        labelf = new JLabel("Frequency");
        labeld = new JLabel("Description");
        
        tFieldr = new JTextField(5);
        tFielda = new JTextField(5);
        tFieldf = new JTextField(5);
        tFieldd = new JTextField(10);
        
        ButtonSave = new JButton("Save");
        ButtonMenu = new JButton("Menu");
        
        contentPane.add(label);
        contentPane.add(newLevel);
        contentPane.add(existLevel);
        contentPane.add(nLevel);
        //contentPane.add(list);
        contentPane.add(listScroller);
        contentPane.add(labelr);
        contentPane.add(labela);
        contentPane.add(labelf);
        contentPane.add(labeld);
        contentPane.add(tFieldr);
        contentPane.add(tFielda);
        contentPane.add(tFieldf);
        contentPane.add(tFieldd);
        contentPane.add(ButtonSave);
        contentPane.add(ButtonMenu);
        
        layout.putConstraint(SpringLayout.WEST, label, 300, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, label, 70, SpringLayout.NORTH, contentPane);
                             
        layout.putConstraint(SpringLayout.WEST, newLevel, 150, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, newLevel, 140, SpringLayout.NORTH, contentPane);
                             
        layout.putConstraint(SpringLayout.WEST, nLevel, 170, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, nLevel, 30, SpringLayout.NORTH, newLevel);
                             
        layout.putConstraint(SpringLayout.WEST, existLevel, 150, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, existLevel, 30, SpringLayout.NORTH, nLevel);
         
        layout.putConstraint(SpringLayout.WEST, listScroller, 170, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, listScroller, 30, SpringLayout.NORTH, existLevel);                     
                             
        layout.putConstraint(SpringLayout.WEST, labelr, 460, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, labelr, 220, SpringLayout.NORTH, contentPane); 
                             
        layout.putConstraint(SpringLayout.WEST, tFieldr, 70, SpringLayout.WEST, labelr);
        layout.putConstraint(SpringLayout.NORTH, tFieldr, 220, SpringLayout.NORTH, contentPane); 
                                     
        layout.putConstraint(SpringLayout.WEST, labela, 460, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, labela, 30, SpringLayout.NORTH, labelr);
                             
        layout.putConstraint(SpringLayout.WEST, labelf, 460, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, labelf, 30, SpringLayout.NORTH, labela);
                             
        layout.putConstraint(SpringLayout.WEST, tFielda, 70, SpringLayout.WEST, labela);
        layout.putConstraint(SpringLayout.NORTH, tFielda, 30, SpringLayout.NORTH, tFieldr); 
                             
        layout.putConstraint(SpringLayout.WEST, tFieldf, 70, SpringLayout.WEST, labelf);
        layout.putConstraint(SpringLayout.NORTH, tFieldf, 30, SpringLayout.NORTH, tFielda); 
        
        layout.putConstraint(SpringLayout.WEST, labeld, 460, SpringLayout.WEST, contentPane);
        layout.putConstraint(SpringLayout.NORTH, labeld, 30, SpringLayout.NORTH, labelf);
        
        layout.putConstraint(SpringLayout.WEST, tFieldd, 70, SpringLayout.WEST, labeld);
        layout.putConstraint(SpringLayout.NORTH, tFieldd, 30, SpringLayout.NORTH, tFieldf);
                             
        layout.putConstraint(SpringLayout.NORTH, ButtonMenu, 500, SpringLayout.NORTH, contentPane);
        layout.putConstraint(SpringLayout.EAST, ButtonMenu, -50, SpringLayout.EAST, contentPane);
        layout.putConstraint(SpringLayout.EAST, ButtonSave, -20, SpringLayout.WEST, ButtonMenu);
        layout.putConstraint(SpringLayout.NORTH, ButtonSave, 0, SpringLayout.NORTH, ButtonMenu);
                             
        ButtonMenu.addActionListener(this);
        newLevel.addActionListener(this);
        existLevel.addActionListener(this);
        ButtonSave.addActionListener(this);
        
        makeVisible();
        listScroller.setEnabled(false); 
        list.setEnabled(false);
        nLevel.setEnabled(false);
    }
    
    public void makeVisible()
    {
        frame.setVisible(true);
        frame.setResizable(false); 
        frame.setLocationRelativeTo(null);
    }
    
    public static void show()
    {
        if (!(singleton == null)) { singleton.makeVisible(); } else { new LevelEdit(); }
    }    
    
    
    public void actionPerformed (ActionEvent e) 
    {

        if (e.getSource() == newLevel)
        {   
                nLevel.setText("");
                tFieldr.setText("");
                tFielda.setText("");
                tFieldf.setText("");
                listScroller.setEnabled(false); 
                list.setEnabled(false);
                nLevel.setEnabled(true);

        }
        
        if (e.getSource() == existLevel) 
        {             
                nLevel.setEnabled(false);
                listScroller.setEnabled(true); 
                list.setEnabled(true);
        }
        
        if (e.getSource() == ButtonSave)
        {
            if(nLevel.isEnabled())
            {
                //try
                //{    
                     CreateLevelSquentialFile ATCUsers = new CreateLevelSquentialFile(nLevel.getText(), tFieldd.getText(),  Integer.valueOf(tFieldr.getText()).intValue(), Float.valueOf(tFieldf.getText()), Integer.valueOf(tFielda.getText()).intValue());
                                ATCUsers.openFile();
                                ATCUsers.addUserRecord();
                                ATCUsers.closeFile();
                   // openWriteFile();
                   // String Name = nLevel.getText();
                   // int runways = Integer.valueOf(tFieldr.getText()).intValue();
                   // int numberOfAircraft = Integer.valueOf(tFielda.getText()).intValue();
                   // float Frequency = Float.valueOf(tFieldf.getText()).intValue();
                  //  String description = new String();
                  //  Level temp = new Level(Name, description, runways, Frequency, numberOfAircraft );
                  //  levelt.add(temp);
                  //  creatArray(levelt);
                   // ((DefaultListModel) list.getModel()).addElement(Name);
                  //  listModel.addElement(Name);
                    //list.setModel(listModel); 
                 //   for(int i = 0; i < levelt.size(); i++)
                 //   {
                 //       output.write(levelt.get(i).getName() + " " + levelt.get(i).runways +  " " + levelt.get(i).numberOfAircraft + " " + levelt.get(i).frequency + " ");
                 //   }

                //    closeFile();
                    nLevel.setText("");
                    tFieldr.setText("");
                    tFielda.setText("");
                    tFieldf.setText("");
                }
                //catch (IOException ioException)
                //{
                //    System.err.println("Error writing to file");
                //    return;
                //}
            
            if(listScroller.isEnabled())
            {
                //try
                //{    
                    
                    
                    //openWriteFile();
                    //int w = list.getSelectedIndex();
                    //levelt.get(w).runways = Integer.valueOf(tFieldr.getText()).intValue();
                    //levelt.get(w).numberOfAircraft = Integer.valueOf(tFielda.getText()).intValue();
                    //levelt.get(w).frequency = Integer.valueOf(tFieldf.getText()).intValue();
                    for(int i = 0; i < levelt.size(); i++)
                    {
                     new CreateLevelSquentialFile(levelt.get(i).getName(), tFieldd.getText(),  Integer.valueOf(tFieldr.getText()).intValue(), Float.valueOf(tFieldf.getText()).intValue(), Integer.valueOf(tFielda.getText()).intValue());

                    //    output.write(levelt.get(i).getName() + " " + levelt.get(i).runways +  " " + levelt.get(i).numberOfAircraft + " " + levelt.get(i).frequency + " ");
                    }
                    //creatArray(levelt);
                    //closeFile();                  
                //}
                //catch (IOException ioException)
                //{
                //    System.err.println("Error writing to file");
                //    return;
                //}
            }
            
            
        }
        
        
        if (e.getSource().equals(ButtonMenu)) 
        {
           
         AdmMenu.show(); frame.setVisible(false); 
        }
    }
    
        public void openReadFile()
        {
            try 
            {
                
                File f = new File("level.txt");
                filein = new Scanner(f);
               
            
                String n, des;
                int r, num, fre;
               
                while (filein.hasNext())
                {
                    
                    n = filein.next();
                    r = Integer.valueOf(filein.next()).intValue();
                    num = Integer.valueOf(filein.next()).intValue();
                    fre = Integer.valueOf(filein.next()).intValue();
                    des = new String();
                    Level temp = new Level(n, des, r, fre, num);
                    levelt.add(temp);

                }
                filein.close();

            
            
            }  
            
            catch(IOException ioException)
            {
                closeFile();
                System.err.println("Error opening file");
            }            
        }
        
        public void openWriteFile()
        {
            try 
            {
                
                 output = new FileWriter("level.txt");
            
            
            }  
            
            catch(IOException ioException)
            {
                closeFile();
                System.err.println("Error opening file");
            }            
        }
        
         public void closeFile()
         {
             try
             {
                 if (output != null) 
                 {
      
                     output.close();
                    }
                }
         
                catch (IOException ioExeception)
                {
                    System.err.println("Error closing file");
                    System.exit(1);
                }
            }
            
            public void creatArray(ArrayList<Level> levelt)
            {
                 int n = levelt.size();
                 name = new String[n];
                 runway = new String[n];
                 aircraft = new String[n];
                 frequency = new String[n];
                 for(int i = 0; i < n; i++)
                 {
                    name[i] = levelt.get(i).getName();
                    runway[i] = String.valueOf(levelt.get(i).runways);
                    aircraft[i] = String.valueOf(levelt.get(i).numberOfAircraft);
                    frequency[i] = String.valueOf(levelt.get(i).frequency);
                }
            }
            
        class SharedListSelectionHandler implements ListSelectionListener 
        {
            public void valueChanged(ListSelectionEvent e) 
            {

                tFieldr.setText ( runway[list.getSelectedIndex()] );
                tFielda.setText ( aircraft[list.getSelectedIndex()] );
                tFieldf.setText ( frequency[list.getSelectedIndex()] );

            }

        }
}
 

⌨️ 快捷键说明

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