import java.awt.*;
import java.awt.event.*;
class KalenderFenster extends Frame implements ActionListener{
Kdaten daten = new Kdaten();
Button tag;
public KalenderFenster() {
setLocation(20,20);
setSize(800,520);
setTitle("Kalender");
setResizable(false);
setLayout(null);
addWindowListener(new WindowsAdapter (true));
//erstellen der menuleiste
MenuBar leiste1 = new MenuBar();
//////////////////////////////////////////////////////////////////////////
// menue 1
Menu programm = new Menu("Programm");
MenuItem mi;
MenuShortcut key;
// erstellen der shortcuts
key = new MenuShortcut(KeyEvent.VK_W);
mi = new MenuItem("Wochenansicht", key);
mi.addActionListener(this);
programm.add (mi);
key = new MenuShortcut(KeyEvent.VK_M);
mi = new MenuItem("Monatsansicht", key);
mi.addActionListener(this);
programm.add (mi);
key = new MenuShortcut (KeyEvent.VK_J);
mi = new MenuItem("Jahresansicht", key);
mi.addActionListener(this);
programm.add(mi);
key = new MenuShortcut(KeyEvent.VK_B);
mi = new MenuItem("Beenden", key);
mi.addActionListener(this);
programm.add(mi);
///////////////////////////////////////////////////////////////
// menue 2
Menu programm2 = new Menu ("Termineintrag");
key = new MenuShortcut(KeyEvent.VK_T);
mi = new MenuItem("neuer Termin", key);
mi.addActionListener(this);
programm2.add(mi);
///////////////////////////////////////////////////////////////
GridLayout grid = new GridLayout(1,3);
Panel p1 = new Panel( grid );
p1.setLocation(0,50);
p1.setSize(800,30);
Button wo = new Button("Wochenansicht");
wo.addActionListener(this);
Button mo = new Button("Monatsansicht");
mo.addActionListener(this);
Button ja = new Button("Jahresansicht");
ja.addActionListener(this);
p1.add (wo);
p1.add (mo);
p1.add (ja);
leiste1.add(programm);
leiste1.add(programm2);
setMenuBar(leiste1);
add(p1);
GridLayout monat = new GridLayout(0,7);
Panel ansicht = new Panel(monat);
ansicht.setLocation(0,163);
ansicht.setSize(800,357);
ansicht.setBackground(Color.WHITE);
//=========================================================//
/* anzeige des monats mit funktionen der vor und rückwertigen
* ansicht
**/
Panel mName = new Panel();
mName.setLocation(0,81);
mName.setSize(800,50);
mName.setBackground(Color.WHITE);
// platzhalter, ohne funktion
Label leer1 = new Label("");
leer1.setLocation(0,0);
leer1.setSize(250,50);
mName.add(leer1);
Button rev = new Button("<<");
rev.setLocation(250,0);
rev.setSize(30,50);
rev.addActionListener(this);
mName.add(rev);
// platzhalter, ohne funktion
Label leer2 = new Label("");
leer2.setLocation(280,0);
leer2.setSize(20,50);
mName.add(leer2);
//erstellen des labels zur anzeige des monatsnamens
Label mNameLabel = new Label(daten.nameMonat);
mNameLabel.setLocation(300,0);
mNameLabel.setSize(200,50);
mNameLabel.setFont (new Font ("ARIAL", 3,21));
mNameLabel.setForeground(Color.RED);
mName.add(mNameLabel);
//platzhalter, ohne funktion
Label leer3 = new Label ("");
leer3.setLocation(500,0);
leer3.setSize(20,50);
mName.add(leer3);
Button next = new Button(">>");
next.setLocation(520,0);
next.setSize(30,50);
next.addActionListener(this);
mName.add(next);
//platzhalter, ohne funktion
Label leer4 = new Label(" ");
leer4.setLocation(550,0);
leer4.setSize(250,50);
mName.add(leer4);
//=============================================================//
// funktionalitaet zur aufnahme der wochentage
Panel wochenTage = new Panel(new GridLayout (1,7));
wochenTage.setLocation(0,132);
wochenTage.setSize(800,30);
Label wochenTag;
for (int i = 0; i < 7; i++){
wochenTag = new Label(daten.tagName);
wochenTag.setFont (new Font("ARIAL", 3,16));
wochenTag.setForeground(Color.BLACK);
wochenTage.add(wochenTag);
}
///////////////////////////////////////////////////////////////////////////
// funktionalitaet zur erstellung der button für die einzelnen tage
for (int i = 1 ; i < ((daten.mTage)+1) ; i++) {
// hilfsvariable um int i zu einem string umzuwandeln,
// der dann auf dem jeweiligen button steht
String j = String.valueOf(i);
tag = new Button( j );
tag.addActionListener(this);
tag.setBackground(daten.monatFarbe);
tag.setFont(new Font ("ARIAL", 0, 14));
tag.setForeground(Color.WHITE);
ansicht.add(tag);
}
add(mName);
add(wochenTage);
add(ansicht);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
String wert = ae.getActionCommand();
if (wert == "Wochenansicht"){
System.out.println("Wochenansicht");
}
else if (wert == "Monatsansicht"){
System.out.println("Monatsansicht");
}
else if (wert == "Jahresansicht"){
System.out.println("Jahresansicht");
}
else if (wert == "Beenden"){
System.exit(0);
}
else if (wert == "neuer Termin"){
new Ntermin();
}
else if(wert == "<<"){
daten.nMonat = daten.nMonat - 1;
System.out.println("" + daten.nameMonat);
}
else if (wert == ">>"){
}
else{
String monName = new Kdaten().nameMonat;
int wJahr = new Kdaten().zJahr;
new Termin(wert, monName, wJahr);
}
}
}
In der public void actionPerformed versuche ich mit daten.nMonat = daten.nMonat - 1 die variable nMonat in der Klasse Kdaten zu überschreiben.
Jede Klasse ist in einer eigenen Datei.