// Copyright 2009/2010 Robert Meolic
//
// Program prikazuje tvorjenje zahtevnejsega GUI
// Potrebuje JAVA 1.6 ali novejso

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MojGUI2 {
  static JFrame smtpOkno;
  static JPanel smtpPlosca1;
  static JLabel oznakaOD, oznakaZA, oznakaZADEVA;
  static JTextArea vnosOD, vnosZA, vnosZADEVA;
  static JTextArea vnosVSEBINA;
  static JButton posljiGumbek;

  public static void main(String args[]) {

    Serviser serviser = new Serviser();

    smtpOkno = new JFrame("SMTP");

    oznakaOD = new JLabel("OD:");
    vnosOD = new JTextArea(1,60);
    oznakaZA = new JLabel("ZA:");
    vnosZA = new JTextArea(1,60);
    oznakaZADEVA = new JLabel("ZADEVA:");
    vnosZADEVA = new JTextArea(1,60);
    vnosVSEBINA = new JTextArea(10,60);

    posljiGumbek = new JButton("POSLJI");
    posljiGumbek.addActionListener(serviser);
    posljiGumbek.setActionCommand("poslji");

    smtpPlosca1 = new JPanel();
    GroupLayout smtpLayout = new GroupLayout(smtpPlosca1);
    smtpPlosca1.setLayout(smtpLayout);
    smtpLayout.setAutoCreateGaps(true);
    smtpLayout.setAutoCreateContainerGaps(true);

    // Pri GroupLayout podamo horizontalno in vertikalno razporeditev

    smtpLayout.setHorizontalGroup(
      smtpLayout.createSequentialGroup()
        .addGroup(smtpLayout.createParallelGroup()
          .addComponent(oznakaOD)
          .addComponent(oznakaZA)
          .addComponent(oznakaZADEVA)
        ).addGroup(smtpLayout.createParallelGroup()
          .addComponent(vnosOD)
          .addComponent(vnosZA)
          .addComponent(vnosZADEVA)
        )
    );

    smtpLayout.setVerticalGroup(
      smtpLayout.createSequentialGroup()
        .addGroup(smtpLayout.createParallelGroup()
          .addComponent(oznakaOD)
          .addComponent(vnosOD)
        ).addGroup(smtpLayout.createParallelGroup()
          .addComponent(oznakaZA)
          .addComponent(vnosZA)
        ).addGroup(smtpLayout.createParallelGroup()
          .addComponent(oznakaZADEVA)
          .addComponent(vnosZADEVA)
        )
    );

    smtpOkno.add(smtpPlosca1,BorderLayout.NORTH);
    smtpOkno.add(vnosVSEBINA,BorderLayout.CENTER);
    smtpOkno.add(posljiGumbek,BorderLayout.SOUTH);

    smtpOkno.pack();
    smtpOkno.setVisible(true);
  }
}

class Serviser implements ActionListener {
  public void actionPerformed(ActionEvent ev) {
    if (ev.getActionCommand().equals("poslji")) {
       String tekstOD = MojGUI2.vnosOD.getText();
       System.out.println("OD: <"+tekstOD+">\n");
       String tekstZA = MojGUI2.vnosZA.getText();
       System.out.println("ZA: <"+tekstZA+">\n");
       String tekstZADEVA = MojGUI2.vnosZADEVA.getText();
       System.out.println("ZADEVA: "+tekstZADEVA+"\n");
       String tekstVSEBINA = MojGUI2.vnosVSEBINA.getText();
       System.out.println("VSEBINA:\n"+tekstVSEBINA);
    }
  }
}

