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

📄 webgisframe.java

📁 实现网络GPS定位车辆的位置
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
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.util.Vector;
import java.sql.*;
//import oracle.jdbc.driver.*;




public class WebGisFrame 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 BorderLayout borderLayout1 = new BorderLayout();
  private Panel panel1 = new Panel();
  private java.awt.List ListGpsMessage = new java.awt.List();
  private OverlayLayout2 overlayLayout21 = new OverlayLayout2();
  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;

  //Construct the frame
  public WebGisFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception  {
    FileName="c:\\WebGisLog\\"+"WebGisGps"+getTime()+".txt";
    File CreateFile = new File(FileName);
    CreateFile.createNewFile();
    image1 = new ImageIcon(webgisserver.WebGisFrame.class.getResource("openFile.gif"));
    image2 = new ImageIcon(webgisserver.WebGisFrame.class.getResource("closeFile.gif"));
    image3 = new ImageIcon(webgisserver.WebGisFrame.class.getResource("help.gif"));
    //setIconImage(Toolkit.getDefaultToolkit().createImage(WebGisFrame.class.getResource("[Your Icon]")));
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(borderLayout1);
    this.setSize(new Dimension(580, 490));
    this.setTitle("亚太安讯WebGis Socket 服务");
    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(overlayLayout21);
    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, BorderLayout.NORTH);
    contentPane.add(panel1, BorderLayout.CENTER);
    panel1.add(ListGpsMessage, null);
    contentPane.add(statusBar, BorderLayout.SOUTH);
    ListGpsMessage.add("连接没有打开!");


    //////////////////////////////////////////////
    java.sql.Connection Conn;
    java.sql.Statement Stmt;

  }
  /*//////////////////////////////////////////////////////////////////////////////////////
  打开连接
  /////////////////////////////////////////////////////////////////////////////////////*/
  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) {
    WebGisFrame_AboutBox dlg = new WebGisFrame_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);*/
  WebGisFrame frame1 = new WebGisFrame();
  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=8877;
            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 {
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
         Conn= DriverManager.getConnection ("jdbc:oracle:thin:@192.168.0.163:1521:gpsdata",
                           "test", "test");
         Stmt= Conn.createStatement();

        }
         catch (Exception ae )
         {
            System.out.println (ae);
         }
         */

⌨️ 快捷键说明

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