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

📄 catpane.java

📁 一个用java写的地震分析软件(无源码)
💻 JAVA
字号:
package org.trinet.jiggle;

import java.awt.*;
import java.util.*;
import java.io.*;
import java.awt.event.*;

import javax.swing.*;      // JFC "swing" library

import org.trinet.jdbc.*;
import org.trinet.jasi.*;
import org.trinet.util.*;
import org.trinet.util.graphics.*;
import org.trinet.util.graphics.table.*;

/**
 * CatPane.java
 *
 *
 * Created: Wed Nov 24 15:29:31 1999
 *
 * @author Doug Given
 * @version
 */

/**
 * Container for the catalogPanel that supports a button to push to load the
 * selected event.
 */
public class CatPane extends JPanel {

    CatalogPanel catPanel;
    Jiggle jiggle;		// parent

    // Can't make it yet because properties aren't loaded yet
    EventSelectionDialog eventSelectionDialog =  null;

    public CatPane () {}

    public CatPane(CatalogPanel catPanel, Jiggle jiggle) {

	setLayout(new BorderLayout());
	this.catPanel = catPanel;
	this.jiggle = jiggle;

	JButton loadButton = new JButton("LOAD WAVEFORMS");
	loadButton.addActionListener (new LoadButtonHandler() );
	loadButton.setToolTipText("Load data to view this event");

	JButton refreshButton = new JButton("REFRESH");
	refreshButton.addActionListener (new RefreshButtonHandler() );
	refreshButton.setToolTipText("Refresh the catalog view");

	/* Removed - experimented on viewing .GIF of data, was too slow and
	   needed to be local to .GIF file
	JButton previewButton = new JButton("PREVIEW");
	previewButton.addActionListener (new PreviewButtonHandler() );
	previewButton.setToolTipText("View snapshot of event.");
	box.add(previewButton);
	*/

	JButton filterButton = new JButton("FILTER");
	filterButton.addActionListener (new FilterButtonHandler() );
	filterButton.setToolTipText("Define event selection criteria");

	JButton deleteButton = new JButton("DELETE");
	deleteButton.addActionListener (new DeleteButtonHandler() );
	deleteButton.setToolTipText("Delete event from data source");

	JPanel buttonPanel = catPanel.getButtonPanel();
	buttonPanel.add(deleteButton);
	buttonPanel.add(filterButton);
	buttonPanel.add(refreshButton);
	buttonPanel.add(loadButton);

/*	JPanel box = new JPanel();		// want flow layout
	box.add(deleteButton);
	box.add(filterButton);
	box.add(refreshButton);
	box.add(loadButton);
	add(box, BorderLayout.NORTH);;
*/
	add(catPanel, BorderLayout.CENTER);
    }

    /*
    private Component makeTimeComboBox () {
 //       DeltaTimePanel panel =  new DeltaTimePanel();
//        return (Component) panel;

      JPanel panel = new JPanel();

      JComboBox cb = new JComboBox();

      cb.addItem("1");
      cb.addItem("2");
      cb.addItem("4");
      cb.addItem("12");
      cb.addItem("24");
      cb.addItem("48");
      cb.addItem("72");

      cb.setEditable(true);		    // allow freeform user input
      String sel = ""+jiggle.props.hoursBack;
      cb.setSelectedItem(sel);		    // default selection
      cb.setMaximumRowCount(10);	    // # items displayed in scrolling window

      cb.addActionListener(new TimeComboHandler());

      panel.add(cb);
      panel.add(new JLabel(" hours back"));

      return panel;
    }
      */
//-----------------------------------------------------------------
// Event handling
//-----------------------------------------------------------------


/** Handle change in time combo box.  */
/*
    class TimeComboHandler implements ActionListener
    {
      public void actionPerformed(ActionEvent e)
	 {
	    JComboBox jc = (JComboBox) e.getSource();

	    String selItem = (String) jc.getSelectedItem();
	    double val = Double.valueOf(selItem).doubleValue();

         // keep the property up to date
//	    jiggle.props.hoursBack = val;
         jiggle.setCatalogTimeWindow(val);
	    jiggle.makeCatPanel();

	    ///


	 }
    }
 */
/** Set event selection criteria */
class FilterButtonHandler implements ActionListener {

    public void actionPerformed (ActionEvent evt) {

      if (eventSelectionDialog == null) {
          eventSelectionDialog = new EventSelectionDialog((JFrame)jiggle,
                                "Event Selection", true,
                                 jiggle.eventProps);
         }

         // note: this is a modal dialog
      eventSelectionDialog.setVisible(true);

      // if OK button was hit save the new properties
      if (eventSelectionDialog.getButtonStatus() == JOptionPane.OK_OPTION) {

         System.out.println(jiggle.eventProps.listToString() );
         jiggle.setEventProperties(eventSelectionDialog.getEventSelectionProperties());
         System.out.println("After ......\n"+jiggle.eventProps.listToString() );

         // save?
//         eventPropsSaveDialog();

         // refresh the view
    	    jiggle.makeCatPanel();
      }

    }
}
/**
 * Pop dialog asking if event selection preferences should be saved to a file.
 */
    void eventPropsSaveDialog() {

    //pop confirming  yes/no dialog:
           int yn = JOptionPane.showConfirmDialog(
                   null, "Save these event properties to startup file?",
                   "Save Event Properties?",
                   JOptionPane.YES_NO_OPTION);

	    if (yn == JOptionPane.YES_OPTION) {
    		   jiggle.eventProps.saveProperties();
	    }
    }

    /** Load a preview .gif of the event */
    /*
class PreviewButtonHandler implements ActionListener {

    public void actionPerformed (ActionEvent evt) {

	//	String action =  evt.getActionCommand();
	Solution sol[] = CatPane.this.catPanel.getSelectedSolutions();

	if (sol != null) {
	// TODO: handle multiple selected events
	    if (sol.length >= 1) {

		// String gifPath = props.getProperty("previewPath")

		// works on LOCAL .HTML files only
		String gifPath = "/home/tpp/www/eventfiles/done/";
		String gifFile = gifPath + sol[0].id.toString()+".html";

		System.out.println ("Preview: "+ gifFile);

		HTMLHelp help = new HTMLHelp(gifFile, gifFile);

	    }
	}

    }
}
*/

/** Load a selected event */
class LoadButtonHandler implements ActionListener {

    public void actionPerformed (ActionEvent evt) {

	//	String action =  evt.getActionCommand();
	Solution sol[] = CatPane.this.catPanel.getSelectedSolutions();

	if (sol != null) {
	// TODO: handle multiple selected events
	    if (sol.length > 0) {
		CatPane.this.jiggle.loadSolution(sol[0]);
	    }
	}
// MV crash here? (prob. in other thread)
    }
}
/** Delete a selected event */
class DeleteButtonHandler implements ActionListener {

    public void actionPerformed (ActionEvent evt) {

	Solution sol[] = CatPane.this.catPanel.getSelectedSolutions();

	if (sol != null && sol.length > 0) {
          // must to by id # and NOT by sol object because the solution objects
          // in the CatalogList are different from those in the MasterView.
		CatPane.this.jiggle.deleteSolution(sol[0].id.longValue());
	        jiggle.makeCatPanel();	 // refresh to show change
     }

    }
}
    /** Refresh the catalog view */
class RefreshButtonHandler implements ActionListener {

    public void actionPerformed (ActionEvent evt) {

	jiggle.makeCatPanel();

	// need a repaint??

    }
}

} // CatPane

⌨️ 快捷键说明

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