import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 27.03.2009
* @author
*/
public class FigurenProgramm extends JFrame implements ActionListener {
// Anfang Attribute
private Color farbe = Color.white;
private Point[] punkte = new Point[1];
private int x = 0;
private int y = 0;
private String name = "";
private double radius;
private Canvas zf = new Canvas();
private String[] jList1Data = {};
private String[] jComboBox1Data = {};
private JComboBox figuren = new JComboBox(jComboBox1Data);
private String[] jComboBox2Data = {};
private JComboBox erweitert = new JComboBox(jComboBox2Data);
private String[] jComboBox3Data = {};
private JComboBox erweitert_ = new JComboBox(jComboBox3Data);
private String[] jComboBox4Data = {};
private JComboBox farben = new JComboBox(jComboBox4Data);
private JLabel namelb = new JLabel();
private JTextField nameed = new JTextField();
private JButton console = new JButton();
private JButton erstellen = new JButton();
// Ende Attribute
public FigurenProgramm(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int frameWidth = 982;
int frameHeight = 533;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
zf.setSize(600,600);
zf.setBackground(Color.white);
cp.add(zf);
namelb.setBounds(610, 20, 50, 16);
namelb.setText("Name:");
cp.add(namelb);
nameed.setBounds(665,20,60,20);
cp.add(nameed);
figuren.setBounds(610, 50, 145, 24);
figuren.addItem("Vieleck");
figuren.addItem("Kreis");
figuren.addActionListener(this);
figuren.setActionCommand("figuren");
cp.add(figuren);
erweitert.setBounds(610, 72, 145, 24);
erweitert.addItem("Auswahl");
erweitert.addItem("Vieleck");
erweitert.addItem("Rechteck");
erweitert.addActionListener(this);
erweitert.setActionCommand("erweitert");
cp.add(erweitert);
erweitert.setEnabled(false);
erweitert_.setBounds(610, 95, 145, 24);
erweitert_.addItem("Auswahl");
erweitert_.addItem("Rechteck");
erweitert_.addItem("Quadrat");
erweitert_.addActionListener(this);
erweitert.setActionCommand("erweitert_");
cp.add(erweitert_);
erweitert_.setEnabled(false);
farben.setBounds(610, 136, 145, 24);
farben.addItem("Auswahl");
farben.addItem("schwarz");
farben.addItem("blau");
farben.addItem("grün");
farben.addItem("orange");
farben.addItem("rot");
farben.addActionListener(this);
farben.setActionCommand("farben");
cp.add(farben);
farben.setEnabled(false);
console.setBounds(610, 176, 90, 25);
console.setText("Konsole");
console.addActionListener(this);
console.setActionCommand("console");
cp.add(console);
console.setEnabled(false);
erstellen.setBounds(610, 210, 90, 25);
erstellen.setText("erstellen");
erstellen.addActionListener(this);
erstellen.setActionCommand("erstellen");
cp.add(erstellen);
erstellen.setEnabled(false);
// Ende Komponenten
setResizable(false);
setVisible(true);
}
// Anfang Methoden
public void setFarben(){
farben.setEnabled(true);
if(farben.getSelectedItem().equals("schwarz")){ farbe = Color.black;}
else if(farben.getSelectedItem().equals("blau")){ farbe = Color.blue;}
else if(farben.getSelectedItem().equals("grün")){ farbe = Color.green;}
else if(farben.getSelectedItem().equals("orange")){ farbe = Color.orange;}
else if(farben.getSelectedItem().equals("rot")){ farbe = Color.red;}
console.setEnabled(true);
}
public void actionPerformed(ActionEvent ae){
String command = ae.getActionCommand();
if(command.equals("figuren")){
if(figuren.getSelectedItem().equals("Vieleck")){
erweitert.setEnabled(true);
if(erweitert.getSelectedItem().equals("Vieleck")){
//EDIT!!!
}
else if(erweitert.getSelectedItem().equals("Rechteck")){
//EDIT!!!
}
}
else if(figuren.getSelectedItem().equals("Kreis")){
farben.setEnabled(true);
setFarben();
}
}
else if(command.equals("console")){
TextIO.putln("");
TextIO.put("Bitte geben Sie den X Wert an: ");
x = TextIO.getlnInt();
TextIO.put("Bitte geben Sie den Y Wert an: ");
y = TextIO.getlnInt();
Point punkt = new Point(x,y);
punkte[0]= punkt;
TextIO.putln("");
TextIO.put("Bitte geben Sie den Radius an: ");
radius = TextIO.getlnDouble();
erstellen.setEnabled(true);
}
else if(command.equals("erstellen")){
Kreis k = new Kreis(radius,name,farbe,punkte);
zf.setForeground(k.getFarbe());
k.zeichne(zf.getGraphics());
}
}
// Ende Methoden
public static void main(String[] args) {
new FigurenProgramm("FigurenProgramm");
}
}