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

📄 waveservergroupdialogpanel.java

📁 一个用java写的地震分析软件(无源码)-used to write a seismic analysis software (without source)
💻 JAVA
字号:

//Title:        Your Product Name
//Version:      
//Copyright:    Copyright (c) 1999
//Author:       Doug Given
//Company:      USGS
//Description:  Your description

package org.trinet.jiggle;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.StringTokenizer;
import javax.swing.border.*;
import javax.swing.border.TitledBorder;

import org.trinet.jasi.ActiveList;

/**
* Presents a panel that allows selection of WaveServer attributes.
*/
public class WaveServerGroupDialogPanel extends JPanel {

     WaveServerGroup wsg = new WaveServerGroup("<new>") ;

     ActiveList wsgList = new ActiveList();

// This code is messy because it was partially generated by JBuilder GUI designer.
     JButton saveButton = new JButton();
     BorderLayout borderLayout1 = new BorderLayout();
     JButton resetlButton = new JButton();
     JPanel buttonPanel = new JPanel();
     JButton testButton = new JButton();
     JPanel paramPanel = new JPanel();
     GridLayout gridLayout1 = new GridLayout();
     JLabel retryLabel = new JLabel();
     JLabel timeoutLable = new JLabel();
     JTextField retryField = new JTextField();
     JTextField timeoutField = new JTextField();
     JCheckBox verifyCheck = new JCheckBox();
     JCheckBox truncateCheck = new JCheckBox();

     JPanel listPanel = new JPanel();
     JScrollPane scrollPane = new JScrollPane();

     JTextArea textArea = new JTextArea(wsg.listToString());
     JLabel groupName = new JLabel();
     JTextField nameField = new JTextField();
     JLabel testLabel = new JLabel();
     BorderLayout borderLayout2 = new BorderLayout();

     public WaveServerGroupDialogPanel(WaveServerGroup group) {

          set(group);
     }

     public WaveServerGroupDialogPanel() {

            set (wsg);
     }

     /** Set the waveServer group to be shown in the panel. */
     public void set (WaveServerGroup group) {

          this.wsg = group;
          try  {
               jbInit();
          }
          catch(Exception e) {
               e.printStackTrace();
          }
     }

     /** Set the list of WaveServer groups that a new item would be added to
     from this panel */
     public void set (ActiveList list) {

            this.wsgList = list;
            repaint();
     }

     /** Build the panel */

     // This code is messy because it was partially generated by JBuilder GUI designer.
     private void jbInit() throws Exception {
          saveButton.setToolTipText("");
          saveButton.setText("SAVE");
          saveButton.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(ActionEvent e) {
                    saveButton_actionPerformed(e);
               }
          });
          this.setLayout(borderLayout1);
          resetlButton.setToolTipText("Return to initial values ");
          resetlButton.setText("RESET");
          resetlButton.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(ActionEvent e) {
                    resetlButton_actionPerformed(e);
               }
          });
          testButton.setToolTipText("Test connection to servers");
          testButton.setActionCommand("TEST");
          testButton.setText("TEST");
          testButton.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(ActionEvent e) {
                    testButton_actionPerformed(e);
               }
          });
          paramPanel.setLayout(gridLayout1);
          retryLabel.setToolTipText("Set maximum times server will be retried");
          retryLabel.setText("Maximum Retries");
          timeoutLable.setToolTipText("Set maximum time until server times out");
          timeoutLable.setText("Maximum timeout (sec)");

          retryField.setText(""+wsg.getMaxRetries());
          gridLayout1.setColumns(2);
          gridLayout1.setRows(0);
          timeoutField.setText(""+wsg.getMaxTimeoutMilliSecs()/1000);

          verifyCheck.setToolTipText("Check waveforms for errors");
          verifyCheck.setText("Verify Waveforms");
          verifyCheck.setSelected(wsg.isVerifyWaveforms());

          truncateCheck.setToolTipText("Truncate waveform at data gap");
          truncateCheck.setText("Truncate at gaps");
          truncateCheck.setSelected(wsg.isTruncateAtTimeGap());

          groupName.setText("Group Name");
          nameField.setText(wsg.getName());

          scrollPane.setToolTipText("Syntax> server.host.address:port");

	     listPanel.setBorder( new TitledBorder("server.host:port list") );
          listPanel.setLayout(borderLayout2);
//          listPanel.setMinimumSize(new Dimension(46, 150));
//          listPanel.setPreferredSize(new Dimension(26, 150));
//          this.setMinimumSize(new Dimension(256, 295));
//          this.setPreferredSize(new Dimension(256, 200));
          textArea.setPreferredSize(new Dimension(250, 125));
          testLabel.setText("Press [TEST] to check server(s)");
          this.setMinimumSize(new Dimension(276, 300));
          this.add(buttonPanel, BorderLayout.SOUTH);

          JPanel testPanel = new JPanel(new BorderLayout());
          testPanel.add(testButton, BorderLayout.WEST);
          testPanel.add(testLabel, BorderLayout.CENTER);

          buttonPanel.add(saveButton, null);
          buttonPanel.add(resetlButton, null);

          this.add(listPanel, BorderLayout.CENTER);
          listPanel.add(scrollPane, BorderLayout.CENTER);
          listPanel.add(testPanel, BorderLayout.SOUTH);

          scrollPane.getViewport().add(textArea, null);
          this.add(paramPanel, BorderLayout.NORTH);
          paramPanel.add(groupName, null);
          paramPanel.add(nameField, null);
          paramPanel.add(retryLabel, null);
          paramPanel.add(retryField, null);
          paramPanel.add(timeoutLable, null);
          paramPanel.add(timeoutField, null);
          paramPanel.add(verifyCheck, null);
          paramPanel.add(truncateCheck, null);

          textArea.setText(wsg.listToString());

     }

 /** Return a new WaveServerGroup as defined by the fields in this panel.
 * Returns null on error. */
     public WaveServerGroup getWaveServerGroup () {

            WaveServerGroup ws = new WaveServerGroup(nameField.getText());
            boolean status = false;

     // parse out the crap from the panel components
            int retries = Integer.parseInt(retryField.getText());
            ws.setMaxRetries(retries);

            int timeout = Integer.parseInt(timeoutField.getText());
            ws.setMaxTimeoutMilliSecs(timeout*1000);  // sec -> millis
            
            ws.setWaveformVerify(verifyCheck.isSelected());
            ws.setTruncatetAtTimeGap(truncateCheck.isSelected());

            // parse the list
            String delims = " :\t\n\r\f";   // only ":" is really used
            StringTokenizer strTok = new StringTokenizer(textArea.getText(), delims);

            // note the only syntax checking here is to catch the exception.
            // addServer() CHECKS THE CONNECTION AND WILL NOT ADD THE SERVER IF
            // IT DOES NOT RESPOND!
            try {
              while (strTok.hasMoreTokens()) {
                 status = ws.addServer(strTok.nextToken(), Integer.parseInt(strTok.nextToken()) );
              }
            } catch (Exception ex) {
              ex.printStackTrace();
              System.err.println("Bad syntax in list of server:port pairs");
              return null;
            }
            return ws;
     }
/**
 * Main for testing class
 * Note, needs:  import java.awt.event.*;
 */
    public static void main(String s[]) 
    {

        JFrame frame = new JFrame("Main");
        frame.addWindowListener(new WindowAdapter()
	{
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });

	 
	//	JiggleProperties props = new JiggleProperties("properties");

     WaveServerGroup wsg = new WaveServerGroup("test");

          wsg.addServer ("spring.gps.caltech.edu", 6500);
          wsg.addServer ("spring.gps.caltech.edu", 6501);
          wsg.addServer ("jet.gps.caltech.edu", 6500);
          wsg.addServer ("jet.gps.caltech.edu", 6501);

     WaveServerGroupDialogPanel wsgp = new WaveServerGroupDialogPanel(wsg);

     frame.getContentPane().add(wsgp);

     
        frame.pack();
        frame.setVisible(true);

    }

    // Handle button actions
    
 /** Save the current server group and add it to the list */
     void saveButton_actionPerformed(ActionEvent e) {
     // make modifications permanent
       wsg = getWaveServerGroup();
       set(wsg);

       // add it to the list if there is one and its not already in it
       if (wsgList != null) {
         if (!wsgList.contains(wsg)) wsgList.add(wsg);
       }
     }

     /** tests the correctness of the current server group. Does not add it
     * to the list. */
     void testButton_actionPerformed(ActionEvent e) {

       wsg = getWaveServerGroup();    // this creates the WSG object
       set(wsg);

       System.out.println(wsg.toString());
       textArea.setText(wsg.listToString());

       if (wsg.listServers().length > 0) {
         testLabel.setText("Server connection OK");
       } else {
         testLabel.setText("Server connection OK");
       }

     }

     /** Reset to old settings */
     void resetlButton_actionPerformed(ActionEvent e) {

        set (wsg);
        return;
     }

}

⌨️ 快捷键说明

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