import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/** GUI Klasse
*
* Stellt die grafische Benutzeroberfläche
* zur Interaktion mit den User bereit.
*
* @author Benjamin Hartl
* @version 1.0
*/
public class JavaView extends JFrame
{
/** Buttons für Testzwecke */
private JButton b1;
private JButton b2;
private JLabel lblTest;
private JPanel p1;
/** Referenz auf ein Model Object */
private JavaModel mod = new JavaModel();
/**
* Erstellen der GUI,
* Verbindet die Handler mit Events
* Zeigt die GUI an
*/
public void launchFrame()
{
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b1 = new JButton("Klick mich");
b2 = new JButton("Test");
lblTest = new JLabel("Das Label");
p1 = new JPanel();
p1.setLayout(new GridLayout(2,1));
p1.add(lblTest);
p1.add(b1);
this.add(p1,BorderLayout.CENTER);
this.add(b2,BorderLayout.WEST);
b2.addActionListener(new ButtonHandler());
this.pack();
this.setVisible(true);
}
public static void main(String[] args)
{
JavaView gui = new JavaView();
gui.launchFrame();
}
private class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
b2.setBackground(mod.getC());
}
}
}
import java.awt.*;
/** Model Klasse
*
* Klasse mit einer Auswahl von Farben
*
* @author Benjamin Hartl
* @version 1.0
*/
public class JavaModel
{
/** Array mit Farben */
private Color[] aColors = {new Color(0,0,0),new Color(100,0,0),new Color(0,100,0),new Color(0,0,100)};
private int i = 0;
/**
* Rückgabe des nächsten Farb-Element
*
* @return Color
*/
public Color getC()
{
i++;
if(i == aColors.length){
i = 0;
}
return aColors[i];
}
}