package TableOfElements;

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
// Import of the TableOfElements java bean
import JosAertsBeans.*;

public class Applet1 extends JApplet {
  boolean isStandalone = false;
  JButton jButton1 = new JButton();

  //Construct the applet
  public Applet1() {
  }

  //Initialize the applet
  public void init() {
    try  {
      jbInit();
    }
    catch(Exception e)  {
      e.printStackTrace();
    }
  }

  //Component initialization
  private void jbInit() throws Exception {
    jButton1.setBackground(Color.red);
    jButton1.setFont(new java.awt.Font("Dialog", 1, 12));
    jButton1.setText("Get Table of Elements");
    jButton1.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        jButton1_actionPerformed(e);
      }
    });
    this.setSize(new Dimension(400,300));
    this.getContentPane().add(jButton1, BorderLayout.NORTH);
  }

  //Get Applet information
  public String getAppletInfo() {
    return "Applet Information";
  }

  //Get parameter info
  public String[][] getParameterInfo() {
    return null;
  }
  // static initializer for setting look & feel
  static {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
      //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
    }
    catch (Exception e) {}
  }

  void jButton1_actionPerformed(ActionEvent e) {
    int returnvalue = -1;
    TableOfElementsDialog dialog = new TableOfElementsDialog(new JFrame(),"Periodic Table of the Elements", true);
    dialog.setVisible(true);
    returnvalue = dialog.showConfirmDialog();
    if(returnvalue == JOptionPane.OK_OPTION) {
      int[] selectedElementNumbers = dialog.getSelectedElementNumbers();
      String[] selectedElementSymbols = dialog.getSelectedElementSymbols();
      String[] selectedElementNames = dialog.getSelectedElementNames();
      int numberOfSelectedElements = dialog.getNumberOfSelectedElements();
      for (int i=0; i<numberOfSelectedElements; i++) {
        System.out.println(selectedElementNumbers[i] + " " + selectedElementSymbols[i] +
          " " + selectedElementNames[i]);
      }
      if (numberOfSelectedElements > 0) {
        JTextArea textarea = new JTextArea(20,40);
        textarea.setEditable(false);
        JScrollPane jsp = new JScrollPane(textarea);
        JFrame f = new JFrame("Results");
        f.setSize(300,300);
        f.getContentPane().add(jsp, BorderLayout.CENTER);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int X = (screenSize.width / 2) - ((f.getSize().width)/2);
        int Y = (screenSize.height / 2) - ((f.getSize().height)/2);
        f.setLocation(X,Y);
        f.setVisible(true);
        for (int i=0; i<numberOfSelectedElements; i++) {
          textarea.append("Element Number = " + selectedElementNumbers[i] + "\n");
          textarea.append("Element Symbol = " + selectedElementSymbols[i] + "\n");
          textarea.append("Element Name = " + selectedElementNames[i] + "\n\n");
        }
      }
    } else if (returnvalue == JOptionPane.CANCEL_OPTION) {
      // do nothing
    }
  }

}
