📄 server.java
字号:
/*
* Server.java
*
* Created on 2006年5月25日, 下午7:55
*/
package flightInfoServer;
import java.awt.Cursor;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
/**
*
* @author rongs
*/
public class Server extends javax.swing.JFrame {
/** Creates new form Server */
public Server() {
initComponents();
readPropertyFile();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
jFileChooser = new javax.swing.JFileChooser();
settingDialog = new javax.swing.JDialog();
saveBtn = new javax.swing.JButton();
cancelBtn = new javax.swing.JButton();
settingTabbedPane1 = new javax.swing.JTabbedPane();
addressPanel = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
portLabel = new javax.swing.JLabel();
portField = new javax.swing.JTextField();
infomation = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
maxConSpinner = new javax.swing.JSpinner();
jLabel2 = new javax.swing.JLabel();
InfoPanel = new javax.swing.JPanel();
senderPeriodSpinner = new javax.swing.JSpinner();
jLabel3 = new javax.swing.JLabel();
pathPanel = new javax.swing.JPanel();
directoryLabel = new javax.swing.JLabel();
directoryField = new javax.swing.JTextField();
browseButton = new javax.swing.JButton();
jLabel4 = new javax.swing.JLabel();
currentDirectoryLabel = new javax.swing.JLabel();
applyButton = new javax.swing.JButton();
buttonGroup1 = new javax.swing.ButtonGroup();
severStatusScrollpane = new javax.swing.JScrollPane();
serverStatus = new javax.swing.JTextArea();
jMenuBar1 = new javax.swing.JMenuBar();
fileMenu = new javax.swing.JMenu();
openItem = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
exitItem = new javax.swing.JMenuItem();
dataMenu = new javax.swing.JMenu();
sendMenuItem = new javax.swing.JMenuItem();
jSeparator2 = new javax.swing.JSeparator();
stopMenuItem = new javax.swing.JMenuItem();
optionMenu = new javax.swing.JMenu();
settingItem = new javax.swing.JMenuItem();
jFileChooser.setAcceptAllFileFilterUsed(false);
jFileChooser.setDialogTitle("\u9009\u62e9\u98de\u822a\u6587\u4ef6");
jFileChooser.setFileFilter(filter.TxtFilter.newInstance());
jFileChooser.setFileHidingEnabled(true);
jFileChooser.setPreferredSize(new java.awt.Dimension(600, 500));
settingDialog.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
settingDialog.setTitle("\u8bbe\u7f6e");
settingDialog.setAlwaysOnTop(true);
settingDialog.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
settingDialog.setLocationByPlatform(true);
settingDialog.setModal(true);
settingDialog.setResizable(false);
saveBtn.setText("\u4fdd\u5b58");
saveBtn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
saveBtnActionPerformed(evt);
}
});
cancelBtn.setText("\u5173\u95ed");
cancelBtn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cancelBtnActionPerformed(evt);
}
});
settingTabbedPane1.setToolTipText("\u8bbe\u7f6e");
addressPanel.setToolTipText("\u7f51\u7edc\u5730\u5740");
addressPanel.setMinimumSize(new java.awt.Dimension(100, 100));
addressPanel.setPreferredSize(new java.awt.Dimension(300, 200));
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("\u76d1\u542c\u7aef\u53e3"));
portLabel.setText("\u7aef\u53e3:");
portField.setColumns(15);
portField.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent evt) {
portFieldKeyTyped(evt);
}
});
portField.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
portFieldMouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
portFieldMouseExited(evt);
}
});
org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(portLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 30, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(12, 12, 12)
.add(portField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(146, Short.MAX_VALUE))
.add(infomation, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 299, Short.MAX_VALUE)
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(portLabel)
.add(portField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(infomation, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 22, Short.MAX_VALUE))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("\u6700\u5927\u8fde\u63a5\u6570"));
jLabel1.setText("\u5141\u8bb8\u540c\u65f6\u6700\u591a\u8fde\u63a5");
maxConSpinner.setToolTipText("\u6700\u5927\u8fde\u63a5\u6570");
jLabel2.setText("\u53f0\u8ba1\u7b97\u673a");
org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.add(jLabel1)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(maxConSpinner, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 33, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jLabel2)
.addContainerGap(104, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(jLabel1)
.add(maxConSpinner, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(jLabel2))
.addContainerGap(32, Short.MAX_VALUE))
);
org.jdesktop.layout.GroupLayout addressPanelLayout = new org.jdesktop.layout.GroupLayout(addressPanel);
addressPanel.setLayout(addressPanelLayout);
addressPanelLayout.setHorizontalGroup(
addressPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(addressPanelLayout.createSequentialGroup()
.addContainerGap()
.add(addressPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(addressPanelLayout.createSequentialGroup()
.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(10, 10, 10))
.add(org.jdesktop.layout.GroupLayout.TRAILING, addressPanelLayout.createSequentialGroup()
.add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())))
);
addressPanelLayout.setVerticalGroup(
addressPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(addressPanelLayout.createSequentialGroup()
.addContainerGap()
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(14, Short.MAX_VALUE))
);
settingTabbedPane1.addTab("\u7f51\u7edc", addressPanel);
InfoPanel.setBorder(javax.swing.BorderFactory.createTitledBorder("\u53d1\u9001"));
InfoPanel.setToolTipText("\u53d1\u9001\u4fe1\u606f");
jLabel3.setText("\u6beb\u79d2");
org.jdesktop.layout.GroupLayout InfoPanelLayout = new org.jdesktop.layout.GroupLayout(InfoPanel);
InfoPanel.setLayout(InfoPanelLayout);
InfoPanelLayout.setHorizontalGroup(
InfoPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(InfoPanelLayout.createSequentialGroup()
.addContainerGap()
.add(senderPeriodSpinner, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 45, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -