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