package basis.fenster;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.LinkedList;
import basis.*;
public final class BereichAuswahl
extends InternesBasisFenster
implements ActionListener, AdjustmentListener
{
private static final long serialVersionUID = 1L;
private JButton wahl0;
private JButton wahl1;
private JButton wahl2;
private JButton wahl3;
private JButton wahl4;
private JButton wahl5;
private JButton wahl6;
private JButton wahl7;
private JButton wahl8;
private JButton wahl9;
private JScrollBar scrollbar;
private int offset;
private LinkedList<BereichFunktionListeElement> auswahlliste;
public BereichAuswahl(Sitzung session, LinkedList<BereichFunktionListeElement> auswahlliste)
{
super("Auswahl des Bereichs", session);
this.auswahlliste = auswahlliste;
setSize(370, 615);
fuelleFenster();
setClosable(false);
offset = 0;
showButtons();
}
private final void fuelleFenster()
{
setLayout(null);
wahl0 = new JButton();
wahl0.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl0.setSize(300, 40);
wahl0.setLocation(10, 10);
wahl0.addActionListener(this);
wahl0.setActionCommand("wahl0");
add(wahl0);
wahl1 = new JButton();
wahl1.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl1.setSize(300, 40);
wahl1.setLocation(10, 60);
wahl1.addActionListener(this);
wahl1.setActionCommand("wahl1");
add(wahl1);
wahl2 = new JButton();
wahl2.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl2.setSize(300, 40);
wahl2.setLocation(10, 110);
wahl2.addActionListener(this);
wahl2.setActionCommand("wahl2");
add(wahl2);
wahl3 = new JButton();
wahl3.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl3.setSize(300, 40);
wahl3.setLocation(10, 160);
wahl3.addActionListener(this);
wahl3.setActionCommand("wahl3");
add(wahl3);
wahl4 = new JButton();
wahl4.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl4.setSize(300, 40);
wahl4.setLocation(10, 210);
wahl4.addActionListener(this);
wahl4.setActionCommand("wahl4");
add(wahl4);
wahl5 = new JButton();
wahl5.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl5.setSize(300, 40);
wahl5.setLocation(10, 260);
wahl5.addActionListener(this);
wahl5.setActionCommand("wahl5");
add(wahl5);
wahl6 = new JButton();
wahl6.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl6.setSize(300, 40);
wahl6.setLocation(10, 310);
wahl6.addActionListener(this);
wahl6.setActionCommand("wahl6");
add(wahl6);
wahl7 = new JButton();
wahl7.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl7.setSize(300, 40);
wahl7.setLocation(10, 360);
wahl7.addActionListener(this);
wahl7.setActionCommand("wahl7");
add(wahl7);
wahl8 = new JButton();
wahl8.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl8.setSize(300, 40);
wahl8.setLocation(10, 410);
wahl8.addActionListener(this);
wahl8.setActionCommand("wahl8");
add(wahl8);
wahl9 = new JButton();
wahl9.setFont(new Font("SansSerif", Font.BOLD, 24));
wahl9.setSize(300, 40);
wahl9.setLocation(10, 460);
wahl9.addActionListener(this);
wahl9.setActionCommand("wahl9");
add(wahl9);
scrollbar = new JScrollBar();
scrollbar.setSize(30, 490);
scrollbar.setLocation(320, 10);
scrollbar.addAdjustmentListener(this);
add(scrollbar);
JButton abmeldebutton = new JButton("Abmelden");
abmeldebutton.setFont(new Font("SansSerif", Font.BOLD, 24));
abmeldebutton.setSize(200, 60);
abmeldebutton.setLocation(80, 510);
abmeldebutton.addActionListener(this);
abmeldebutton.setActionCommand("logout");
add(abmeldebutton);
}
private final void showButtons()
{
int menge = auswahlliste.size();
BereichFunktionListeElement element;
if(menge < 10)
{
wahl0.setVisible(false);
wahl1.setVisible(false);
wahl2.setVisible(false);
wahl3.setVisible(false);
wahl4.setVisible(false);
wahl5.setVisible(false);
wahl6.setVisible(false);
wahl7.setVisible(false);
wahl8.setVisible(false);
wahl9.setVisible(false);
}
if(menge < 11)
{
scrollbar.setVisible(false);
}
else
{
scrollbar.setMinimum(0);
scrollbar.setMaximum(menge);
scrollbar.setVisibleAmount(10);
scrollbar.setValue(offset);
}
int i = offset;
for(int j = 0; i < menge; i++, j++)
{
element = auswahlliste.get(i);
switch(j)
{
case 0:
wahl0.setText(element.getAnzeigetext());
wahl0.setVisible(true);
break;
case 1:
wahl1.setText(element.getAnzeigetext());
wahl1.setVisible(true);
break;
case 2:
wahl2.setText(element.getAnzeigetext());
wahl2.setVisible(true);
break;
case 3:
wahl3.setText(element.getAnzeigetext());
wahl3.setVisible(true);
break;
case 4:
wahl4.setText(element.getAnzeigetext());
wahl4.setVisible(true);
break;
case 5:
wahl5.setText(element.getAnzeigetext());
wahl5.setVisible(true);
break;
case 6:
wahl6.setText(element.getAnzeigetext());
wahl6.setVisible(true);
break;
case 7:
wahl7.setText(element.getAnzeigetext());
wahl7.setVisible(true);
break;
case 8:
wahl8.setText(element.getAnzeigetext());
wahl8.setVisible(true);
break;
case 9:
wahl9.setText(element.getAnzeigetext());
wahl9.setVisible(true);
break;
default:
break;
}
}
}
public final void adjustmentValueChanged(AdjustmentEvent event)
{
offset = scrollbar.getValue();
showButtons();
}
public final void actionPerformed(ActionEvent event)
{
String action = event.getActionCommand();
if(action.equals("wahl0"))
{
BereichFunktionListeElement element = auswahlliste.get(offset);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl1"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 1);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl2"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 2);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl3"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 3);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl4"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 4);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl5"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 5);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl6"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 6);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl7"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 7);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl8"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 8);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("wahl9"))
{
BereichFunktionListeElement element = auswahlliste.get(offset + 9);
session.execute(element.getBereich(), element.getFunktion());
return;
}
if(action.equals("logout"))
{
session.execute("Basis", "Logout");
return;
}
}
}