📄 framewebdatabase.java
字号:
package webgisserver;import java.awt.*;import java.awt.event.*;import javax.swing.*;//import com.borland.jbcl.layout.*;import java.util.Date;import java.net.*;import java.io.*;import java.text.*;import java.text.DecimalFormat;import java.util.Vector;import java.sql.*;//import oracle.jdbc.driver.*;public class FrameWebDatabase extends JFrame { private JPanel contentPane; private JMenuBar jMenuBar1 = new JMenuBar(); private JMenu jMenuConnect = new JMenu(); private JMenuItem jMenuConnectServer = new JMenuItem(); private JMenuItem jMenuConnectExit = new JMenuItem(); private JMenu jMenuHelp = new JMenu(); private JMenuItem jMenuHelpAbout = new JMenuItem(); private JToolBar jToolBar = new JToolBar(); private JButton jButton1 = new JButton(); private JButton jButton2 = new JButton(); private JButton jButton3 = new JButton(); private ImageIcon image1; private ImageIcon image2; private ImageIcon image3; private JLabel statusBar = new JLabel(); private Panel panel1 = new Panel(); private java.awt.List ListGpsMessage = new java.awt.List(); private boolean ConnectFlag=false; public String FileName=""; public StringWriter sw = new StringWriter(); public PrintWriter pw = new PrintWriter(sw); public FileOutputStream fos =null; public OutputStreamWriter osw =null; public BufferedWriter bw =null; Thread connectThread = null; GridBagLayout gridBagLayout1 = new GridBagLayout(); GridBagLayout gridBagLayout2 = new GridBagLayout(); //Construct the frame public FrameWebDatabase() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { FileName="c:\\WebGisLog\\"+"WebGisDatabase"+getTime()+".txt"; File CreateFile = new File(FileName); CreateFile.createNewFile(); image1 = new ImageIcon(webgisserver.FrameWebDatabase.class.getResource("openFile.gif")); image2 = new ImageIcon(webgisserver.FrameWebDatabase.class.getResource("closeFile.gif")); image3 = new ImageIcon(webgisserver.FrameWebDatabase.class.getResource("help.gif")); //setIconImage(Toolkit.getDefaultToolkit().createImage(FrameWebDatabase.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(gridBagLayout1); this.setSize(new Dimension(580, 490)); this.setTitle("亚太安讯数据库服务器"); statusBar.setText(getDateTime()); jMenuConnect.setText("连接管理"); jMenuConnectServer.setText("打开连接"); jMenuConnectServer.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuConnectServer_actionPerformed(e); } }); jMenuConnectExit.setText("退出"); jMenuConnectExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuConnectExit_actionPerformed(e); } }); jMenuHelp.setText("帮助"); jMenuHelpAbout.setText("关于"); jMenuHelpAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuHelpAbout_actionPerformed(e); } }); jButton1.setIcon(image1); jButton1.setToolTipText("连接服务器"); jButton2.setIcon(image2); jButton2.setToolTipText("断开连接"); jButton3.setIcon(image3); jButton3.setToolTipText("帮助"); ListGpsMessage.setBackground(Color.lightGray); panel1.setLayout(gridBagLayout2); jToolBar.add(jButton1); jToolBar.add(jButton2); jToolBar.add(jButton3); jMenuConnect.add(jMenuConnectServer); jMenuConnect.add(jMenuConnectExit); jMenuHelp.add(jMenuHelpAbout); jMenuBar1.add(jMenuConnect); jMenuBar1.add(jMenuHelp); this.setJMenuBar(jMenuBar1); contentPane.add(jToolBar, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0 ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 483, 0)); contentPane.add(panel1, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0 ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 580, 459)); panel1.add(ListGpsMessage, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0 ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 580, 459)); contentPane.add(statusBar, new GridBagConstraints(0, 2, 1, GridBagConstraints.REMAINDER, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 580, 0)); ListGpsMessage.add("连接没有打开!"); } /*////////////////////////////////////////////////////////////////////////////////////// 打开连接 /////////////////////////////////////////////////////////////////////////////////////*/ public void jMenuConnectServer_actionPerformed(ActionEvent e) { String sMsg; if(ConnectFlag==false) { jMenuConnectServer.setText("断开连接"); connectThread = new ConnectThread(ListGpsMessage); connectThread.start(); ConnectFlag=true; } else { jMenuConnectServer.setText("打开连接"); connectThread.stop(); ConnectFlag=false; sMsg=getDateTime()+"连接已断开"; WriteFile(sMsg); ListGpsMessage.add(sMsg); } } public void jMenuConnectExit_actionPerformed(ActionEvent e) { System.exit(0); } //Help | About action performed public void jMenuHelpAbout_actionPerformed(ActionEvent e) { FrameWebDatabase_AboutBox dlg = new FrameWebDatabase_AboutBox(this); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setModal(true); dlg.pack(); dlg.show(); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { jMenuConnectExit_actionPerformed(null); } } public static void main(String[] args) { /*String s="webgis$test$huafeng"; int index1=s.indexOf("$"); String temp=""; System.out.println(index1); temp=s.substring(0,index1); System.out.println(temp); int index2=s.indexOf("$",index1+1); System.out.println(index2); temp=s.substring(index1+1,index2); System.out.println(temp); temp=s.substring(index2+1,s.length()); System.out.println(temp);*/ FrameWebDatabase frame1 = new FrameWebDatabase(); frame1.setSize(650,400); frame1.show(); } /*////////////////////////////////////////////////////////////////////////////////////// 连接gps服务线程 /////////////////////////////////////////////////////////////////////////////////////*/ class ConnectThread extends Thread{ private List ListGpsMessage; private String sMsg; public ConnectThread(List listbox) { ListGpsMessage = listbox; } public void run(){ try{ int port; //缺省为1500 ServerSocket server_socket; BufferedReader input; //System.out.println("port = 6111 (default)"); port=6688; try { server_socket = new ServerSocket(port); System.out.println("tcpServer waiting for client on port " + server_socket.getLocalPort()); sMsg=getTime()+"端口:"+server_socket.getLocalPort()+"连接已打开,等待客户连接!"; WriteFile(sMsg); ListGpsMessage.add(sMsg); //不停的循环,用于接受客户端的请求 int count=0; while(true) { Socket socket = server_socket.accept(); count++; Thread tcpServerThread =new tcpServerThread(socket,count,ListGpsMessage); tcpServerThread.start(); sMsg=getTime()+socket.getInetAddress()+ ":" + socket.getPort()+"连接"; System.out.println("New client accepted " +socket.getInetAddress()+ ":" + socket.getPort()); ListGpsMessage.add(sMsg); } } catch (Exception ee) { System.out.println(ee); } }catch(Exception e){ System.out.println(e); } } private String getTime() { Date currentTime=new Date(); //SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy MMMM dd,EEEE, HH:mm:ss"); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy\\MM\\dd HH:mm:ss "); String timeString=dateFormat.format(currentTime); return timeString; } void WriteFile(String sMessage) { try { FileWriter file = new FileWriter(FileName,true); PrintWriter out = new PrintWriter(file); out.println(sMessage); out.close(); file.close(); } catch (IOException e) { System.out.println("错!"); e.printStackTrace(); } }} /*////////////////////////////////////////////////////////////////////////////////////// 连接gps服务,接收GPS信息,转发到客户端 /////////////////////////////////////////////////////////////////////////////////////*/ class tcpServerThread extends Thread{ private Socket tcpSocket; private int intNumber; private List ListGpsMessage; private String sMsg; java.sql.Connection Conn; java.sql.Statement Stmt; public tcpServerThread(Socket socket,int count,List listbox) { try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://192.110.0.20:1433;DatabaseName=SubGPS"; String user="gps"; String password="topeak"; Conn= DriverManager.getConnection(url,user,password);// DriverManager.registerDriver(new com.microsoft.SQLServerDriver()); //Conn= DriverManager.getConnection ("jdbc:oracle:thin:@211.101.210.162:1521:webgis", // "webgis", "webgis");// Conn= DriverManager.getConnection ("jdbc:oracle:thin:@192.168.0.163:1521:gpsdata",// "test", "test"); Stmt= Conn.createStatement(); } catch (Exception ae ) { System.out.println (ae); } tcpSocket=socket; intNumber=count; ListGpsMessage=listbox; } public void run(){ try{ BufferedReader inReader=new BufferedReader(new InputStreamReader(tcpSocket.getInputStream() ));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -