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

📄 eventselectiontimepanel.java

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

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

package org.trinet.util.graphics;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

import org.trinet.jasi.*;
import org.trinet.util.*;

public class EventSelectionTimePanel extends JPanel {

//     BorderLayout borderLayout1 = new BorderLayout();

     JPanel jPanelTop = new JPanel();
     JPanel jPanelBot = new JPanel();

//     Box hbox = Box.createHorizontalBox();

     JRadioButton rbuttonRelative = new JRadioButton();
     JRadioButton rbuttonAbsolute = new JRadioButton();

     /** Date range component */
     DateRangeChooser dateRangeChooser = new DateRangeChooser();
     /** Delta time component */
     DeltaTimePanel deltaTimePanel = new DeltaTimePanel();
     /** Radio button group */
     ButtonGroup buttonGroup = new ButtonGroup();

     /** Properties passed as an argument to the constructor */
     EventSelectionProperties props;

     public EventSelectionTimePanel(EventSelectionProperties props) {

          this.props = props;

          try  {
               jbInit();
          }
          catch(Exception ex) {
               ex.printStackTrace();
          }
     }

     /** GUI builder constructed by JBuilder design tool. */
     private void jbInit() throws Exception {

          this.setLayout(new BorderLayout());

          rbuttonRelative.setHorizontalTextPosition(SwingConstants.CENTER);
          rbuttonRelative.setVerticalTextPosition(SwingConstants.TOP);
          rbuttonRelative.setText("Relative Time");
          rbuttonRelative.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(ActionEvent e) {
                    rbutton_actionPerformed(e);
               }
          });
          rbuttonAbsolute.setHorizontalTextPosition(SwingConstants.CENTER);
          rbuttonAbsolute.setVerticalTextPosition(SwingConstants.TOP);
          rbuttonAbsolute.setText("Absolute Time");
          rbuttonAbsolute.addActionListener(new java.awt.event.ActionListener() {

               public void actionPerformed(ActionEvent e) {
                    rbutton_actionPerformed(e);
               }
          });

          // coordinate radio buttons so only one can be chosen at a time
          buttonGroup.add(rbuttonRelative);
          buttonGroup.add(rbuttonAbsolute);

          jPanelBot.add(rbuttonRelative);
          jPanelBot.add(new JPanel());  // spacer
          jPanelBot.add(deltaTimePanel);
          jPanelBot.setBorder(BorderFactory.createLineBorder(Color.black) );
          this.add(jPanelBot, BorderLayout.WEST);

          jPanelTop.add(rbuttonAbsolute);
          jPanelTop.add(dateRangeChooser);
          jPanelTop.setBorder(BorderFactory.createLineBorder(Color.black) );

          this.add(jPanelTop, BorderLayout.SOUTH);

          // set times to values in props
          dateRangeChooser.setTimeSpan(props.getTimeSpan());

          deltaTimePanel.setUnits(props.getProperty("relativeTimeUnits"));
          deltaTimePanel.setValue(props.getProperty("relativeTimeValue"));

          // Enable the initial mode as defined in the properties
        if (modeIsAbsolute()) {
             rbuttonAbsolute.doClick();
        } else {
             rbuttonRelative.doClick();
        }

     }

      /** Set the time span for the date range chooser. If the 'catalogTimeMode'
      * is "relative" this will be a timeSpan from now back to the length of
      * of the relative time interval. */
     public TimeSpan getTimeSpan() {

        if (modeIsAbsolute()) {
           return dateRangeChooser.getTimeSpan();
        } else {
          return deltaTimePanel.getTimeSpan();
        }

       // return new TimeSpan();
     }

     /** Return the length of the time span in seconds. */
/*     public double getDuration() {
       return getTimeSpan().getDuration();
     }
*/
/** The value specified  for the relative time*/
     public double getValue() {
       return deltaTimePanel.getValue();
     }
/** The units specified for the relative time */
     public String getUnits() {
        return deltaTimePanel.getUnits();
     }

     /** Return the modified EventSelectionProperties */
/*     public EventSelectionProperties getProperties() {
            return props;
     }
*/
     /** Returns a string describing the mode selected, relative or absolute. */
     public String getTimeMode() {
        return props.getProperty("catalogTimeMode") ;
     }

     /** Return 'true' if timemode is "absolute". */
     public boolean modeIsAbsolute() {
       return getTimeMode().equalsIgnoreCase("absolute");
     }

     /** Radio button action */
     void rbutton_actionPerformed(ActionEvent e) {

          if (rbuttonRelative.isSelected()) {
            props.setProperty("catalogTimeMode", "relative");

            dateRangeChooser.setEnabled(false);
            deltaTimePanel.setEnabled(true);
            deltaTimePanel.requestFocus();
            repaint();

          } else if (rbuttonAbsolute.isSelected()) {
            props.setProperty("catalogTimeMode", "absolute");

            dateRangeChooser.setEnabled(true);
            
            deltaTimePanel.setEnabled(false);
            dateRangeChooser.requestFocus();
            repaint();
          }
     }

      public EventSelectionProperties
             updateTimeProperties(EventSelectionProperties propsIn) {

        String mode = getTimeMode();
        propsIn.setProperty("catalogTimeMode", mode);

        if (mode.equalsIgnoreCase("absolute")) {
          propsIn.setTimeSpan(dateRangeChooser.getTimeSpan());
        } else if (mode.equalsIgnoreCase("relative")) {
          propsIn.setTimeWindow(deltaTimePanel.getValue(),
                              deltaTimePanel.getUnits());
        }
      return propsIn;

      }

 ///////
    /*
     public static void main(String s[])
    {

        JFrame frame = new JFrame("Main");
        frame.addWindowListener(new WindowAdapter()
	   {
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });
// Private properties
	   EventSelectionProperties origProps = new EventSelectionProperties("eventProperties");

        origProps.dumpProperties();

        final EventSelectionTimePanel timePanel = new EventSelectionTimePanel(origProps);

        JPanel panel = new JPanel(new BorderLayout());
        panel.add (timePanel, BorderLayout.CENTER);
        JButton okButton = new JButton("OK");
        okButton.addActionListener(new ActionListener() {

           public void actionPerformed(ActionEvent e) {

                 System.out.println ("-- Event Selection Properties AFTER --");

               timePanel.updateTimeProperties(origProps).dumpProperties();

               System.out.println ("-----------");

           }
        });

        panel.add(okButton, BorderLayout.SOUTH);
        frame.getContentPane().add(panel);

 //      dialog.getEventSelectionProperties().dumpProperties();

//	   frame.setSize(200,30);	// this has no effect!
        frame.pack();
        frame.setVisible(true);

    }
    */
}   

⌨️ 快捷键说明

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