📄 leveledit.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 + -