diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Bachelor/ERGO/TierheimVerw/thv/TierDialog.java | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Bachelor/ERGO/TierheimVerw/thv/TierDialog.java')
| -rw-r--r-- | Bachelor/ERGO/TierheimVerw/thv/TierDialog.java | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Bachelor/ERGO/TierheimVerw/thv/TierDialog.java b/Bachelor/ERGO/TierheimVerw/thv/TierDialog.java new file mode 100644 index 0000000..60f3ca3 --- /dev/null +++ b/Bachelor/ERGO/TierheimVerw/thv/TierDialog.java @@ -0,0 +1 @@ +import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* <p>Überschrift: TierDialog</p>
*
* <p>Beschreibung: Anzeige Dialog für Interessenten</p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Organisation: </p>
*
* @author Andreas Spirka, Sven Eisenhauer
* @version 1.0
*/
public class TierDialog extends AbstractMyJDlg implements Observer
{
Container c;
int pos = 0;
TierCon tc;
TierCon tempCon = new TierCon();
Tier actTier = new Tier();
transient ViewComponent pic = new ViewComponent();
JPanel panelEigenschaften = new JPanel(); // Pane für Eigenschaften: RegNr, Name ...
JPanel panelButton = new JPanel(); // Panel für Buttons vor und zurück
//GRID
JPanel grid = new JPanel();
JPanel leer = new JPanel();
//***Components***
JLabel regNr = new JLabel("RegNr.");
JLabel name = new JLabel("Name");
JLabel tierart = new JLabel("Tierart");
JLabel rasse = new JLabel("Rasse");
JLabel alter = new JLabel("Alter");
JLabel geschlecht = new JLabel("Geschlecht");
JLabel farbe = new JLabel("Farbe");
JLabel sonstiges = new JLabel("Sonstiges");
Vector<JLabel> tierArtLabels = new Vector<JLabel>();
Vector<JCheckBox> tierArtCheckBoxes = new Vector<JCheckBox>();
JTextField regNrText = new JTextField(12);
JTextField nameText = new JTextField(12);
JTextField tierartText = new JTextField(12);
JTextField tierGeschlecht = new JTextField(12);
JTextField rasseText = new JTextField(12);
JTextField alterText = new JTextField(12);
JTextField farbeText = new JTextField(12);
JTextArea sonstigesText = new JTextArea(2,15);
JButton zurueck = new JButton("zurück");
JButton vor = new JButton("vor");
JButton bestand = new JButton("Tierbestand");
/**
* @param cont
* @param gbl
* @param c
* @param x
* @param y
* @param width
* @param height
* @param weightx
* @param weighty
*/
static void addComponent( Container cont,
GridBagLayout gbl,
Component c,
int x, int y,
int width, int height,
double weightx, double weighty ){
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.gridx = x; gbc.gridy = y;
gbc.gridwidth = width;
gbc.gridheight = height;
gbc.weightx = weightx; gbc.weighty = weighty;
gbl.setConstraints( c, gbc );
cont.add( c );
}
/**
* Aktualisiert den verwendeten TierContainer
*/
public void updateTc() {
tc=thv.getTierCon();
TierCon tempCon2 = new TierCon();
if(thv.getActUser().getRole() == User.ROLE_GUEST)
{
for (int i=0;i<tc.size();i++)
if( ( (Tier) tc.elementAt(i) ).getFreigabe() )
tempCon.addTier( (Tier) tc.elementAt(i) );
tc=tempCon;
}
for (int i=0;i<Tier.TIERARTEN.length;i++)
{
if(tierArtCheckBoxes.elementAt(i).isSelected())
{
for(int n=0;n<tc.size();n++)
{
if( ( ((Tier)tc.elementAt(n)).getTierart() ) == i )
{
tempCon2.addTier( (Tier) tc.elementAt(n) );
}
}
}
}
tc=tempCon2;
if( (tc.size() > 0) && (pos < tc.size()) )
{
actTier = (Tier) tc.elementAt(pos);
}
zeigeTier();
}
/**
* Konstruktor.
* @param p Index
*/
public TierDialog(int p)
{
pos = p;
ButtonListener2 bl = new ButtonListener2(this);
setSize(450,350);
vor.setActionCommand("vor");
vor.addActionListener(bl);
vor.addActionListener(bl);
vor.setMnemonic(KeyEvent.VK_V);
zurueck.setActionCommand("zurueck");
zurueck.addActionListener(bl);
zurueck.setMnemonic(KeyEvent.VK_Z);
bestand.addActionListener(bl);
bestand.setActionCommand("bestand");
c = getContentPane();
GridBagLayout gbl = new GridBagLayout();
c.setLayout(gbl);
//GRID
grid.setLayout(gbl);
//***PANELS***
panelEigenschaften.setBorder(BorderFactory.createEtchedBorder());
panelEigenschaften.setLayout( new GridLayout(0, 2,1,1 ) );
panelButton.setBorder(BorderFactory.createEtchedBorder());
panelButton.setLayout( new FlowLayout());
//***GridBag***//
grid.add(panelEigenschaften);
// w=Spalten h=Zeilen x=POsitionSpalte y=PositionZeile
// x y w h wx wy
addComponent( c, gbl, panelEigenschaften , 0, 0, 1, 2, 0, 0 );
addComponent( c, gbl, pic , 1, 0, 1, 2, 1.0, 1.0 );
addComponent( c, gbl, panelButton , 1, 2, 1, 1, 0 , 0 );
addComponent( c, gbl, bestand , 0, 2, 1, 1, 0 , 0 );
//***PanelButton***//
panelButton.add(zurueck);
panelButton.add(vor);
bestand.setAlignmentX( Component.CENTER_ALIGNMENT);
//***PANEL LINKS***
panelEigenschaften.add(regNr);
panelEigenschaften.add(regNrText);
panelEigenschaften.add(name);
panelEigenschaften.add(nameText);
panelEigenschaften.add(tierart);
panelEigenschaften.add(tierartText);
panelEigenschaften.add(rasse);
panelEigenschaften.add(rasseText);
panelEigenschaften.add(alter);
panelEigenschaften.add(alterText);
panelEigenschaften.add(geschlecht);
panelEigenschaften.add(tierGeschlecht);
panelEigenschaften.add(farbe);
panelEigenschaften.add(farbeText);
panelEigenschaften.add(sonstiges);
panelEigenschaften.add(sonstigesText);
// JLabels und JCheckBoxes für Tierarten generieren
for (int i=0;i<Tier.TIERARTEN.length;i++)
{
tierArtLabels.add(new JLabel(Tier.TIERARTEN[i]));
tierArtCheckBoxes.add(new JCheckBox());
tierArtCheckBoxes.elementAt(i).addActionListener(bl);
tierArtCheckBoxes.elementAt(i).setActionCommand(Tier.TIERARTEN[i]);
tierArtCheckBoxes.elementAt(i).setSelected(true);
panelEigenschaften.add(tierArtLabels.elementAt(i));
panelEigenschaften.add(tierArtCheckBoxes.elementAt(i));
}
panelEigenschaften.setAlignmentX( Component.TOP_ALIGNMENT);
// sonst Exception falls kein Bild vorhanden
pic.setVisible(false);
panelButton.add(zurueck);
panelButton.add(vor);
bestand.setAlignmentX( Component.CENTER_ALIGNMENT);
//*** SET_ENABLE=FALSE***
regNrText.setEnabled(false);
nameText.setEnabled(false);
tierartText.setEnabled(false);
rasseText.setEnabled(false);
tierGeschlecht.setEnabled(false);
alterText.setEnabled(false);
farbeText.setEnabled(false);
sonstigesText.setEnabled(false);
setTitle("Tierverwaltung - Tier anzeigen");
updateTc();
setVisible(true);
actTier.addObserver(this);
zeigeTier();
}
/**
* Daten des aktuellen Tieres anzeigen
*/
private void zeigeTier()
{
if(tc.size() > 0)
{
vor.setEnabled(true);
zurueck.setEnabled(true);
}
else
{
vor.setEnabled(false);
zurueck.setEnabled(false);
}
regNrText.setText(Integer.toString(actTier.getTierID()));
nameText.setText(actTier.getTierName());
tierartText.setText(Tier.TIERARTEN[actTier.getTierart()]);
rasseText.setText(actTier.getRasse());
alterText.setText(Integer.toString(actTier.getAlter()));
tierGeschlecht.setText(Tier.GESCHLECHT[actTier.getGeschlecht()]);
farbeText.setText(actTier.getFarbe());
sonstigesText.setText(actTier.getSonstiges());
File file = new File(actTier.getFoto());
if(file.exists() )
{
pic.setImage(file);
pic.setVisible(true);
}
else
{
pic.setVisible(false);
}
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = getSize();
setLocation((screenSize.width/2)-(frameSize.width/2),(screenSize.height/2)-(frameSize.height/2));
}
/* (non-Javadoc)
* @see AbstractMyJDlg#buttonActionPerformed(java.awt.event.ActionEvent)
*/
public void buttonActionPerformed( ActionEvent e )
{
String c = e.getActionCommand();
if (c.equals("bestand"))
{
new AlleFTiereDlg();
}
else if (c.equals("vor"))
{
if (pos < tc.size()-1)
pos++;
else
pos = 0;
actTier=(Tier) tc.elementAt(pos);
zeigeTier();
}
else if (c.equals("zurueck"))
{
if (pos > 0)
pos--;
else
pos = tc.size()-1;
actTier=(Tier) tc.elementAt(pos);
zeigeTier();
}
for (int i=0;i<Tier.TIERARTEN.length;i++)
{
if(c.equals(Tier.TIERARTEN[i]))
{
updateTc();
}
}
}
/* (non-Javadoc)
* @see java.util.Observer#update(java.util.Observable, java.lang.Object)
*/
public void update(Observable o, Object arg)
{
zeigeTier();
}
}//end class TierDialog
\ No newline at end of file |
