import javax.swing.*;
import javax.swing.tree.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
import java.io.*;
import java.net.*;
import javax.swing.event.*;
/**
* Überschrift: Transporter Nr.2
* Beschreibung: Transporter Nr.2-Client
* Copyright: Copyright (c) 2008
* Organisation: Roboter AG
* @author Roboter AG
* @version 2.1
*/
public class Modellbahn extends JFrame implements ActionListener
{
// die Steuerlemente des Programms:
// ohne Hilfselemente (JLabel, JPanel etc.)
JLabel jlStatus, jlLGB, jlZustand, jlBarke;
// Schaltflächen & Eingabefelder
ButtonGroup dieUIGruppe;
JToolBar bleiste, bleiste1, bleiste2;
JButton jbStatus, jbLGB , jbStart;
String stStatus, stLGB, stStart, command, response, stBarke;
public boolean connect = false;
boolean bStart = true;
boolean bStatus = true;
public static void main(String[] args)throws IOException
{
Modellbahn bahn = new Modellbahn();
// bahn.show();
}
public Modellbahn()
{
super("Transporter Nr.2: Version 2.1");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(400,200); // Framegroesse
this.setLocation(100,100); // Position auf dem Bildschirm
// Layoutmanager erzeugen und zuordnen
GridBagLayout dasLayout = new GridBagLayout();
GridBagConstraints dieLayoutWerte = new GridBagConstraints();
dieLayoutWerte.fill = GridBagConstraints.BOTH;
dieLayoutWerte.weightx = 1;
dieLayoutWerte.weighty = 1;
dieLayoutWerte.anchor = GridBagConstraints.CENTER;
getContentPane().setLayout(dasLayout);
// Steuerelemente erzeugen und zuordnen
jlZustand = new JLabel("Zustand undefiniert");
bleiste1 = new JToolBar();
bleiste1.setPreferredSize(new Dimension(200,200));
bleiste1.add(jlZustand);
bleiste1.setToolTipText("Anzeige");
bleiste1.setBorder(BorderFactory.createTitledBorder("Transporter Nr.2"));
dieLayoutWerte.weightx = 0.5;
dieLayoutWerte.weighty = 1;
dieLayoutWerte.gridx = 1;
dieLayoutWerte.gridy = 0;
dasLayout.setConstraints(bleiste1, dieLayoutWerte);
getContentPane().add(bleiste1);
dieUIGruppe = new ButtonGroup();
jlBarke = new JLabel("Zustand undefiniert");
bleiste2 = new JToolBar();
bleiste2.setPreferredSize(new Dimension(400,400));
bleiste2.add(jlBarke);
bleiste2.setToolTipText("Anzeige-Barke");
bleiste2.setBorder(BorderFactory.createTitledBorder("Aufenthaltsort"));
dieLayoutWerte.weightx = 1;
dieLayoutWerte.weighty = 1;
dieLayoutWerte.gridx = 1;
dieLayoutWerte.gridy = 2;
dasLayout.setConstraints(bleiste2, dieLayoutWerte);
getContentPane().add(bleiste2);
dieUIGruppe = new ButtonGroup();
jbLGB = new JButton("STOPP");
jbLGB.setToolTipText("Transporter Nr.2: STOPP");
jbLGB.addActionListener(this);
jbStatus = new JButton("Statusabfrage");
jbStatus.setToolTipText("Transporter Nr.2: Status");
jbStatus.addActionListener(this);
jbStart = new JButton("Start");
jbStart.setToolTipText("Transporter Nr.2: Start");
jbStart.addActionListener(this);
bleiste = new JToolBar();
bleiste.setPreferredSize(new Dimension(200,30));
bleiste.add(jbLGB);
bleiste.add(jbStatus);
bleiste.add(jbStart);
bleiste.setToolTipText("Auswahl: Schalter");
bleiste.setBorder(BorderFactory.createTitledBorder("Schalter: STOPP - Status - Start"));
dieLayoutWerte.weightx = 0.5;
dieLayoutWerte.weighty = 1;
dieLayoutWerte.gridx = 0;
dieLayoutWerte.gridy = 0;
dasLayout.setConstraints(bleiste, dieLayoutWerte);
getContentPane().add(bleiste);
dieUIGruppe = new ButtonGroup();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Object quelle = e.getSource();
String command = new String();
String response = new String();
Client lgb = new Client();
String Befehl = new String(e.getActionCommand());
try
{
if(quelle == jbLGB )
{
command = "N";
response = lgb.setController(command);
if (response.equals("N"))
{
stLGB = "stoppt";
jlZustand.setText("Transporter Nr.2 " + stLGB);
}
}
if(quelle == jbStart )
{
command = "S";
response = lgb.setController(command);
if (response.equals("S"))
{
/* if (bStart == true)
{
bStart = false; */
stLGB = "startet";
jlZustand.setText("Transporter Nr.2 " + stLGB);
// }
}
}
if(quelle == jbStatus )
{
if (bStatus) /* bei erreichter Station bStart = true; in die If-Anweisung */
{
command = "S";
response = lgb.setController(command);
System.out.println(command);
stLGB = "Transporter befindet sich ";
System.out.println(stLGB + "im Betriebszustand\n\r");
if (response.equals("S"))
{
System.out.println(response);
jlZustand.setText(stLGB + "in Richtung zu Station A!");
}
if (response.equals("A"))
{
System.out.println(response);
jlZustand.setText(stLGB + "bei Station A!");
}
if (response.equals("R"))
{
System.out.println(response);
jlZustand.setText(stLGB + "in Richtung zu Station B!");
}
if (response.equals("B"))
{
System.out.println(response);
jlZustand.setText(stLGB + "bei Station B!");
}
if (response.equals("U"))
{
System.out.println(response);
jlZustand.setText("Der Transporter hat auf der Strecke gestoppt");
}
// X RFID-CHIPS
if (response.equals("1"))
{
System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 1 passiert");
}
if (response.equals("2"))
{
System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 2 passiert");
}
if (response.equals("3"))
{
System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 3 passiert");
}
if (response.equals("4"))
{
System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 4 passiert");
}
if (response.equals("5"))
{
System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 5 passiert");
}
/*
switch(X)
{
case 1: System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 1 passiert");
break;
case 2: System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 2 passiert");
break;
case 3: System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 3 passiert");
break;
case 4: System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 4 passiert");
break;
case 5: System.out.println(response);
jlZustand.setText("Der Transporter hat die Barke 5 passiert");
break;
} */
}
}
}
catch(Exception exp)
{
exp.printStackTrace();
}
}
}