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

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