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

📄 newfile.java

📁 一个java开发的海运系统
💻 JAVA
字号:
package sun.com.tool;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Component;
import java.awt.Frame;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class NewFile extends JFrame{
    Frame f = new Frame("新建提单");
    
	Panel p = new Panel();
	Panel p1 = new Panel();
	Label l = new Label("船信息:");

	Label l1 = new Label("船名:");

	Label l2 = new Label("航次:");

	Label l3 = new Label("提单号:");

	Label l4 = new Label("目的港:");

	TextField tff = new TextField(5);

    TextField tf2 = new TextField(5);

	TextField tf3 = new TextField(5);

	TextField tf4 = new TextField(5);

	Button addBox = new Button("添加箱信息");

	Button addShip = new Button("添加船信息");

	Button add = new Button("添加");

	Button saveFile = new Button("保存");
	Button close=new Button("关闭");

	StringBuffer sb = new StringBuffer();
	List list = new ArrayList<String>();
	boolean clos=false;
    public boolean Close(){
    	// 关闭事件
		
		return false;
    }
	public NewFile() {
	

//		 添加船按钮默认状态、
		addShip.setEnabled(false);
		saveFile.setEnabled(false);
		addBox.setEnabled(false);
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				f.dispose();
				clos=true;
			}
		});
	
		// 添加箱信息按钮事件监听
		addBox.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {

				tff.setText(null);
				tf2.setText(null);
				tf3.setText(null);
				tf4.setText(null);
				l.setText("箱信息:");
				l1.setText("箱型:");
				l2.setText("箱尺寸:");
				l3.setText("箱量:");
				l4.setText("箱经营人:");
				addShip.setEnabled(true);
				add.setEnabled(true);
			}
		});

		// 添加船信息按钮事件监听
		addShip.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				tff.setText(null);
				tf2.setText(null);
				tf3.setText(null);
				tf4.setText(null);
				l.setText("船信息:");
				l1.setText("船名:");
				l2.setText("航次:");
				l3.setText("提单号:");
				l4.setText("目的港:");
				addShip.setEnabled(false);
				add.setEnabled(true);
			}
		});

		// 添加按钮事件监听
		add.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String regex2 = "\\d{3}[A-Z]";
				String regex3 = "[A-Z]{1,5}(\\d)+";
				String regex4 = "[A-Z]+";
				String regex5 = "12|20|40|45";
				String regex6 = "GP|GH|HT|OT|RF|RH|TK|FR";
				String regex7 = "\\d+";
				String regex8 = "[A-Z]+";
				if (l.getText().equals("船信息:")) {
					if (tff.getText().equals(""))
						JOptionPane.showMessageDialog(null, "船名不能为空");
					else if (tf2.getText().matches(regex2) == false)
						JOptionPane.showMessageDialog(null, "请输入正确航次,如601E");
					else if (tf3.getText().matches(regex3) == false)
						JOptionPane.showMessageDialog(null,
								"请输入正确提单号\n如SNL0185762");
					else if (tf4.getText().matches(regex4) == false)
						JOptionPane.showMessageDialog(null,
								"请输入正确目的港,如SIGAPORE");
					else {
						list.add(tff.getText() + ":" + tf2.getText() + ":"
								+ tf3.getText() + ":" + tf4.getText() + "#");
						sb.append(tff.getText() + ":" + tf2.getText() + ":"
								+ tf3.getText() + ":" + tf4.getText() + "#"
								+ "\n");
						add.setEnabled(false);
						addBox.setEnabled(true);
						saveFile.setEnabled(true);
					}
				} else {
					if (tff.getText().matches(regex5) == false)
						JOptionPane.showMessageDialog(null,
								"请输入正确箱型,例:[12|20|40|45]");
					else if (tf2.getText().matches(regex6) == false)
						JOptionPane.showMessageDialog(null,
								"请输入正确尺寸,例:GP|GH|HT|OT|RF|RH|TK|FR");
					else if (tf3.getText().matches(regex7) == false)
						JOptionPane.showMessageDialog(null, "请输入正确箱量!");
					else if (tf4.getText().matches(regex8) == false)
						JOptionPane.showMessageDialog(null, "请输入正确箱经营人!\n例:GSD");

					else {
						//将添加的船和箱子添加到list集合中
						list.add(tff.getText() + ":" + tf2.getText() + ":"
								+ tf3.getText() + ":" + tf4.getText() + "#");
						sb.append(tff.getText() + ":" + tf2.getText() + ":"
								+ tf3.getText() + ":" + tf4.getText() + "#"
								+ "\n");
						add.setEnabled(false);//添加按钮为不可用状态
						addBox.setEnabled(true);//添加箱子为可用状态
						saveFile.setEnabled(true);//保存文件
					}
				}
			}
		});

		// 保存按钮事件监听
		saveFile.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent arg0) {
				JFileChooser fileChooser = new JFileChooser("D:");
				int result = fileChooser.showSaveDialog(null);
				if (result == JFileChooser.CANCEL_OPTION)
					return;
				File fileName = fileChooser.getSelectedFile();
				try {
					FileWriter fw = new FileWriter(fileName);
					fw.write(sb.toString());
					fw.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});

		p.add(l);
		p.add(l1);
		p.add(tff);
		p.add(l2);
		p.add(tf2);
		p.add(l3);
		p.add(tf3);
		p.add(l4);
		p.add(tf4);
		p1.add(addShip);
		p1.add(addBox);
		p1.add(add);
		p1.add(saveFile);
		p1.setSize(130, 80);
		f.setLayout(new BorderLayout());
		f.add(p, BorderLayout.CENTER);
		f.add(p1, BorderLayout.SOUTH);
		f.pack();
		f.setLocation(200, 200);
		f.setVisible(true);
	}

public static void main(String[] args) {
	NewFile s=new NewFile();
}
}

⌨️ 快捷键说明

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