/**
*
* Beschreibung.
*
* @version 1.0 vom 22.04.2005
* @author
*/
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.*;
import javax.swing.Icon;
import java.awt.event.*;
import java.sql.*;
import javax.swing.table.DefaultTableModel;
import java.util.Vector;
import javax.swing.JMenu;
public class client extends JFrame implements ActionListener {
public static final client win = new client( 800, 600, "Deterministische endliche Automaten");
private JTabbedPane reiter;
private Vector windows = new Vector();
private ResultSet res;
public client( int x, int y, String title) {
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setSize( x, y );
setTitle(title);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((d.width-x) / 2, (d.height-y)/2 );
// GUI:
Container cp = getContentPane();
// Toolbar Panel
JToolBar toolbar = new JToolBar("Navigation");
// toolbar.setRollover(true);
cp.add(toolbar, BorderLayout.NORTH);
// Toolbuttons:
JButton btn = new JButton(new ImageIcon("icons\\add.gif"));
btn.setActionCommand("neu");
btn.setBorderPainted( false );
btn.setFocusPainted( false );
btn.addActionListener(this);
toolbar.add(btn);
btn = new JButton(new ImageIcon("icons\\del.gif"));
btn.setActionCommand("entf");
btn.setBorderPainted( false );
btn.setFocusPainted( false );
btn.addActionListener(this);
toolbar.add(btn);
toolbar.addSeparator();
btn = new JButton(new ImageIcon("icons\\calc.gif"));
btn.setActionCommand("start");
btn.setBorderPainted( false );
btn.setFocusPainted( false );
btn.addActionListener(this);
toolbar.add(btn);
toolbar.addSeparator();
btn = new JButton(new ImageIcon("icons\\exit.gif"));
btn.setActionCommand("exit");
btn.setBorderPainted( false );
btn.setFocusPainted( false );
btn.addActionListener(this);
toolbar.add(btn);
//--------------------------------------------------------------------------
reiter = new JTabbedPane();
TWindow wnd = new TWindow();
wnd.addMouseListener(this);
windows.add(wnd);
reiter.addTab("Neuer Automat", wnd);
cp.add(reiter);
setVisible( true );
}
public void actionPerformed (ActionEvent event){
String cmd = event.getActionCommand();
if (cmd.equals("neu")){
String name = JOptionPane.showInputDialog(new JFrame(), "Bitte geben Sie einen Namen für den Automaten ein", "Name", JOptionPane.QUESTION_MESSAGE);
TWindow wnd = new TWindow();
windows.add(wnd);
reiter.addTab(name, wnd);
}
else if (cmd.equals("entf")){
int i = reiter.getSelectedIndex();
reiter.remove(i);
windows.remove(i);
}
else if (cmd.equals("start")){
// Die einzelnen Zeilen speichern:
String[] zeilen = ((TWindow) windows.get(reiter.getSelectedIndex())).input_script.getText().trim().split("\n"); // tarea_script.getText().trim().split("\n");
DEA dea = new DEA(zeilen);
if (dea.start(((TWindow) windows.get(reiter.getSelectedIndex())).input.getText())) ((TWindow) windows.get(reiter.getSelectedIndex())).output.setText("Akzeptiert");
else ((TWindow) windows.get(reiter.getSelectedIndex())).output.setText("Nicht OK");
}
else if (cmd.equals("exit")){
int ok = JOptionPane.showConfirmDialog(new JFrame(),"Wollen Sie das Programm wirklich beenden? Alle ungespeicherten Eingaben gehen dabei verloren!", "Bestätigung notwendig", JOptionPane.YES_NO_OPTION);
if (ok == JOptionPane.YES_OPTION) System.exit(0);
}
}
public static void main( String args[] ) {
}
}