summaryrefslogtreecommitdiffstats
path: root/Bachelor/ERGO/TierheimVerw/thv/AlleTiereDlg.java
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Bachelor/ERGO/TierheimVerw/thv/AlleTiereDlg.java
downloadStudium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz
Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Bachelor/ERGO/TierheimVerw/thv/AlleTiereDlg.java')
-rw-r--r--Bachelor/ERGO/TierheimVerw/thv/AlleTiereDlg.java314
1 files changed, 314 insertions, 0 deletions
diff --git a/Bachelor/ERGO/TierheimVerw/thv/AlleTiereDlg.java b/Bachelor/ERGO/TierheimVerw/thv/AlleTiereDlg.java
new file mode 100644
index 0000000..ab80c3c
--- /dev/null
+++ b/Bachelor/ERGO/TierheimVerw/thv/AlleTiereDlg.java
@@ -0,0 +1,314 @@
+import java.awt.*;
+import java.awt.event.*;
+import java.io.FileInputStream;
+import java.io.ObjectInputStream;
+import javax.swing.*;
+import javax.swing.event.*;
+import javax.swing.table.*;
+
+/**
+ * @author Andreas Spirka, Sven Eisenhauer
+ *
+ * Klasse zum Anzeigen aller Tiere
+ *
+ */
+
+public class AlleTiereDlg extends AbstractMyJDlg implements ListSelectionListener,WindowListener
+{
+ Container c;
+ JPanel contentPane;
+ BorderLayout borderLayout1 = new BorderLayout();
+ int counter = 0;
+ User actUser=thv.getActUser();
+ UserCon users;
+
+ TierCon tiere=thv.getTierCon();
+ JScrollPane scrollPane = new JScrollPane(); // Scroll-Pane
+ JTable table = new JTable(); // Tabelle
+
+ JPanel jPanelSouth = new JPanel();
+ JLabel jLabelSelection = new JLabel();
+ JTextField jTextFieldAuswahl = new JTextField(20);
+ String fName = new String ("user.dat");
+ JButton delB = new JButton("Löschen");
+ JButton detailB = new JButton("Details");
+ JButton saveB = new JButton("Speichern");
+ JButton abbrB = new JButton("Abbrechen");
+ JComboBox comboBox = new JComboBox(Tier.TIERARTEN);
+ JComboBox comboBoxG = new JComboBox(Tier.GESCHLECHT);
+ JComboBox comboBoxMA = new JComboBox();
+ JCheckBox checkB = new JCheckBox();
+ JTextField tf = new JTextField();
+ JTextField editJTFint = new JTextField();
+ JTextField editJTF = new JTextField();
+ DefaultCellEditor cellEd = new DefaultCellEditor(editJTF);
+ DefaultCellEditor cellEdint = new DefaultCellEditor(editJTFint);
+ DefaultCellEditor comboEd = new DefaultCellEditor(comboBox);
+ DefaultCellEditor comboEdG = new DefaultCellEditor(comboBoxG);
+ DefaultCellEditor comboEDMA = new DefaultCellEditor(comboBoxMA);
+ DefaultCellEditor checkBEd = new DefaultCellEditor(checkB);
+ String[] UserNames;
+
+ /**
+ * Konstruktor
+ */
+ public AlleTiereDlg() {
+ editJTFint.setInputVerifier(new IntVerifier());
+ setDefaultCloseOperation( JDialog.DO_NOTHING_ON_CLOSE );
+ ButtonListener2 bl = new ButtonListener2(this);
+ c = getContentPane();
+ c.setLayout(borderLayout1);
+ setSize(new Dimension(900, 400));
+ setTitle("Alle Tiere");
+ jPanelSouth.setBorder(BorderFactory.createEtchedBorder());
+ jLabelSelection.setText("Auswahl");
+ jTextFieldAuswahl.setText("kein Tier ausgewählt");
+ c.add( scrollPane, java.awt.BorderLayout.CENTER );
+ scrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED );
+ scrollPane.getViewport().add( table ); // Table in Scroll-Pane
+ c.add(jPanelSouth, java.awt.BorderLayout.SOUTH);
+ jPanelSouth.add(delB);
+ jPanelSouth.add(detailB);
+ jPanelSouth.add(abbrB);
+ delB.addActionListener(bl);
+ abbrB.addActionListener(bl);
+ detailB.addActionListener(bl);
+ detailB.setActionCommand("detail");
+ delB.setActionCommand("Löschen");
+ abbrB.setActionCommand("Abbrechen");
+
+ table.setModel( tiere ); // Model für Tabelle setzen
+ // Einzelauswahl
+ table.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
+ ListSelectionModel lsm = table.getSelectionModel();
+ lsm.addListSelectionListener( this ); // TableModelListener regitrieren
+ table.setCellSelectionEnabled(true);
+ //table.setDoubleBuffered(true);
+ try {
+ FileInputStream fis = new FileInputStream(fName);
+ ObjectInputStream ois = new ObjectInputStream(fis);
+ users = (UserCon) ois.readObject();
+ ois.close();
+ fis.close();
+ UserNames=new String[users.size()];
+ for (int i=0;i<users.size();i++)
+ {
+ User u2 = (User) users.elementAt(i);
+ UserNames[i] = u2.getUserName();
+ if (u2.getRole() != User.ROLE_GUEST)
+ comboBoxMA.addItem((Object) u2.getUserName());
+ }
+ } catch (Exception exception) { exception.printStackTrace(); }
+ TableColumn NameColumn = table.getColumnModel().getColumn(1);
+ TableColumn TierArtColumn = table.getColumnModel().getColumn(2);
+ TableColumn RasseColumn = table.getColumnModel().getColumn(3);
+ TableColumn farbeColumn = table.getColumnModel().getColumn(4);
+ TableColumn AlterColumn = table.getColumnModel().getColumn(5);
+ TableColumn GeschlColumn = table.getColumnModel().getColumn(6);
+ TableColumn SonstColumn = table.getColumnModel().getColumn(8);
+ TableColumn HeimEintrColumn = table.getColumnModel().getColumn(9);
+ TableColumn ImpfColumn = table.getColumnModel().getColumn(10);
+ TableColumn MAColumn = table.getColumnModel().getColumn(11);
+ TableColumn BefColumn = table.getColumnModel().getColumn(13);
+ TableColumn freigColumn = table.getColumnModel().getColumn(15);
+ if (actUser.getRole() != User.ROLE_GUEST)
+ {
+ NameColumn.setCellEditor(cellEd);
+ TierArtColumn.setCellEditor(comboEd);
+ RasseColumn.setCellEditor(cellEd);
+ farbeColumn.setCellEditor(cellEd);
+ AlterColumn.setCellEditor(cellEdint);
+ GeschlColumn.setCellEditor(comboEdG);
+ SonstColumn.setCellEditor(cellEd);
+ HeimEintrColumn.setCellEditor(cellEd);
+ ImpfColumn.setCellEditor(cellEd);
+ MAColumn.setCellEditor(comboEDMA);
+ if (actUser.getRole() == User.ROLE_VET)
+ {
+ BefColumn.setCellEditor(cellEd);
+ freigColumn.setCellEditor(checkBEd);
+ }
+ }
+ else
+ {
+ table.setCellSelectionEnabled(false);
+ }
+ removeCols();
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+ Dimension frameSize = getSize();
+ setLocation((screenSize.width/2)-(frameSize.width/2),(screenSize.height/2)-(frameSize.height/2));
+ setVisible(true);
+ }
+ /**
+ * Entfernt Spalten, die Gast nicht sehen soll
+ */
+ public void removeCols()
+ {
+ if (actUser.getRole() == User.ROLE_GUEST)
+ {
+ TableColumn NameColumn = table.getColumnModel().getColumn(1);
+ TableColumn TierArtColumn = table.getColumnModel().getColumn(2);
+ TableColumn RasseColumn = table.getColumnModel().getColumn(3);
+ TableColumn farbeColumn = table.getColumnModel().getColumn(4);
+ TableColumn AlterColumn = table.getColumnModel().getColumn(5);
+ TableColumn GeschlColumn = table.getColumnModel().getColumn(6);
+ TableColumn FotoColumn = table.getColumnModel().getColumn(7);
+ TableColumn SonstColumn = table.getColumnModel().getColumn(8);
+ TableColumn HeimEintrColumn = table.getColumnModel().getColumn(9);
+ TableColumn ImpfColumn = table.getColumnModel().getColumn(10);
+ TableColumn MAColumn = table.getColumnModel().getColumn(11);
+ TableColumn AendColumn = table.getColumnModel().getColumn(12);
+ TableColumn BefColumn = table.getColumnModel().getColumn(13);
+ TableColumn LastCColumn = table.getColumnModel().getColumn(14);
+ TableColumn freigColumn = table.getColumnModel().getColumn(15);
+ delB.setVisible(false);
+ table.removeEditor();
+ table.setCellSelectionEnabled(false);
+ table.removeColumn(freigColumn);
+ table.removeColumn(FotoColumn);
+ table.removeColumn(BefColumn);
+ table.removeColumn(LastCColumn);
+ table.removeColumn(AendColumn);
+ table.removeColumn(MAColumn);
+ table.removeColumn(ImpfColumn);
+ table.removeColumn(HeimEintrColumn);
+ }
+ }
+ /* (non-Javadoc)
+ * @see AbstractMyJDlg#buttonActionPerformed(java.awt.event.ActionEvent)
+ */
+ public void buttonActionPerformed(ActionEvent e) {
+ if (e.getActionCommand().equals("Abbrechen"))
+ {
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ table.clearSelection();
+ dispose();
+ }
+ else if(e.getActionCommand().equals("Löschen"))
+ {
+ int selRow = table.getSelectedRow();
+ table.clearSelection();
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ if (selRow >= 0)
+ tiere.removeTier( (Tier) tiere.elementAt( selRow ) );
+ }
+ else if(e.getActionCommand().equals("detail"))
+ {
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ int selRow = table.getSelectedRow();
+ if (selRow >= 0) {
+ new TierDialog( selRow );
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event.ListSelectionEvent)
+ */
+ public void valueChanged( ListSelectionEvent e )
+ {
+ /* in der Hörsaalübung kam es hier zum Crash, wenn eine Zeile
+ * ausgewählt war und eine neue hinzugefügt wurde. In diesem
+ * Fall ist die erste und zuletzt ausgewählte Zeile identisch.
+ * Das wir hier abgefangen.
+ */
+ /*if ( e.getFirstIndex() == e.getLastIndex() ) {
+ jTextFieldAuswahl.setText( "kein Tier ausgewählt");
+ return;
+ }
+ String name = (String) table.getValueAt(table.getSelectedRow(), 1);
+ String tierart = (String) table.getValueAt(table.getSelectedRow(), 2);
+ this.jTextFieldAuswahl.setText( name + " (" + tierart + ")" );
+ */
+ }
+
+ /* (non-Javadoc)
+ * @see java.awt.event.WindowListener#windowClosing(java.awt.event.WindowEvent)
+ */
+ public void windowClosing(WindowEvent e) {
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ dispose();
+ }
+ /* (non-Javadoc)
+ * @see java.awt.event.WindowListener#windowClosed(java.awt.event.WindowEvent)
+ */
+ public void windowClosed(WindowEvent e) {
+ }
+ /* (non-Javadoc)
+ * @see java.awt.event.WindowListener#windowOpened(java.awt.event.WindowEvent)
+ */
+ public void windowOpened(WindowEvent e) {
+ }
+ /* (non-Javadoc)
+ * @see java.awt.event.WindowListener#windowIconified(java.awt.event.WindowEvent)
+ */
+ public void windowIconified(WindowEvent e) {
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ table.clearSelection();
+ }
+ /* (non-Javadoc)
+ * @see java.awt.event.WindowListener#windowDeiconified(java.awt.event.WindowEvent)
+ */
+ public void windowDeiconified(WindowEvent e) {
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ table.clearSelection();
+ }
+ /* (non-Javadoc)
+ * @see java.awt.event.WindowListener#windowActivated(java.awt.event.WindowEvent)
+ */
+ public void windowActivated(WindowEvent e) {
+ }
+ /* (non-Javadoc)
+ * @see java.awt.event.WindowListener#windowDeactivated(java.awt.event.WindowEvent)
+ */
+ public void windowDeactivated(WindowEvent e) {
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ table.clearSelection();
+ }
+ /**
+ * @param e
+ */
+ public void windowGainedFocus(WindowEvent e) {
+ }
+ /**
+ * @param e
+ */
+ public void windowLostFocus(WindowEvent e) {
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ table.clearSelection();
+ }
+ /**
+ * @param e
+ */
+ public void windowStateChanged(WindowEvent e) {
+ if (table.isEditing()) {
+ table.getCellEditor().stopCellEditing();
+ }
+ table.removeEditor();
+ table.clearSelection();
+ }
+}// end class AlleTiereDlg