|
Nicht angemeldet
|
Code - Plain Code
Code:
/*
* Created on 22.06.2006
*/
package gui.kunde;
import control.Kunde;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Insets;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JLabel;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class KundeMaske extends JDialog implements ActionListener
{
private JPanel masterPanel;
private JPanel kopfPanel;
private JPanel mittePanel;
private JLabel titel;
//Array für name, vname, tel, fax usw.
private JLabel[] kdaten;
private JTextField[] kfeld;
//Array mit den Namen d. Labels
private String[] bez;
//Array mit den Felderwerten
private String[] feld_inhalt;
//Label für die Kundennummer
private JLabel kdnr_lb, kdnr;
//Button zum Speichern
private JButton speichern;
//Button zum löschen
private JButton loeschen;
private String stmp;
private String[] satmp;
//Speicher die Kunden id
private int id;
//Objekt der Klasse Kudnde --> speicher die aktuell angz. Daten
private Kunde aktKu;
//ENDE Deklaratinsteil
//ANFANG Methoden
//Konstruktor
public KundeMaske()
{
id = -1;
aktKu = new Kunde(id);
//Bezeichnungen einlesen...
bez = new String[aktKu.getAnzahlBezeichnungen()];
bez = aktKu.getBezeichnungen();
//Hier werden die verschiedenen Labels/Textfelder eingefügt
kdaten = new JLabel[bez.length];
kfeld = new JTextField[bez.length];
feld_inhalt = new String[bez.length];
for (int i = 0; i < bez.length; i++)
feld_inhalt[i] = "";
}
public KundeMaske(int id)
{
this.id = id;
aktKu = new Kunde(id);
//Bezeichnungen einlesen...
bez = new String[aktKu.getAnzahlBezeichnungen()];
bez = aktKu.getBezeichnungen();
//Hier werden die verschiedenen Labels/Textfelder Initialisiert
kdaten = new JLabel[bez.length];
kfeld = new JTextField[bez.length];
feld_inhalt = new String[bez.length];
feld_inhalt = aktKu.getInhalte();
}
//ende Konstruktor
public void initGUI()
{
{
this.setTitle("Kunden Verwalten");
this.setSize(350, 500);
this.setLocation(300, 300);
//Fenster schließbar machen
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
((Frame) evt.getComponent()).dispose();
}
});
masterPanel = new JPanel();
BorderLayout masterPanelLayout = new BorderLayout();
masterPanel.setLayout(masterPanelLayout);
this.getContentPane().add(masterPanel, BorderLayout.CENTER);
{
kopfPanel = new JPanel();
masterPanel.add(kopfPanel, BorderLayout.NORTH);
{
titel = new JLabel();
kopfPanel.add(titel);
titel.setText("Kunden Verwalten");
titel.setFont(new java.awt.Font("Elephant", 0, 16));
}
}
{
mittePanel = new JPanel();
GridBagLayout mittePanelLayout = new GridBagLayout();
mittePanel.setLayout(mittePanelLayout);
masterPanel.add(mittePanel, BorderLayout.CENTER);
//Die Arrays wurden im Konstuktor erzeugt.
for (int i = 0; i < bez.length; i++)
{
kdaten[i] = new JLabel();
mittePanel.add(kdaten[i], new GridBagConstraints(0, //posx
i, //posy
1, 1, 0.0, 0.0, GridBagConstraints.WEST, //align
GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
kdaten[i].setText(bez[i]);
kfeld[i] = new JTextField();
mittePanel
.add(kfeld[i], new GridBagConstraints(1, //posx
i, //posy
1, 1, 0.0, 0.0, GridBagConstraints.WEST, //align
GridBagConstraints.NONE, new Insets(0, 0, 0, 10),
0, 0));
kfeld[i].setPreferredSize(new Dimension(100, 20));
kfeld[i].setText(feld_inhalt[i]);
}
//Dann soll noch (wenn sie existiert) die Kundennr. angezeigt
// werden
kdnr_lb = new JLabel();
mittePanel.add(kdnr_lb, new GridBagConstraints(0, //posx
bez.length + 1, //posy
1, 1, 0.0, 0.0, GridBagConstraints.WEST, //align
GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
kdnr_lb.setText("Kundenr.:");
kdnr = new JLabel();
mittePanel.add(kdnr, new GridBagConstraints(1, //posx
bez.length + 1, //posy
1, 1, 0.0, 0.0, GridBagConstraints.WEST, //align
GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
if(id != -1)
{
kdnr.setText("" + id);
} else
{
kdnr.setText("NEUKNDE");
}
//Schließlich fehlt noch der SPEICHERN Button
speichern = new JButton();
mittePanel.add(speichern, new GridBagConstraints(1, //posx
bez.length + 2, //posy
1, 1, 0.0, 0.0, GridBagConstraints.WEST, //align
GridBagConstraints.NONE, new Insets(10, 0, 0, 0), 0, 0));
speichern.setSize(new Dimension(100, 15));
speichern.setText("Speichern");
speichern.addActionListener(this);
//und der LOESCHEN Button
//Aber nur, wenn id!=0
loeschen = new JButton();
mittePanel.add(loeschen, new GridBagConstraints(0, //posx
bez.length + 2, //posy
1, 1, 0.0, 0.0, GridBagConstraints.WEST, //align
GridBagConstraints.NONE, new Insets(10, 0, 0, 10), 0, 0));
loeschen.setSize(new Dimension(40, 15));
loeschen.setText("Löschen");
loeschen.addActionListener(this);
if(id == -1)
{
loeschen.setEnabled(false);
}
}
}
}
/**
* Auto-generated method for setting the popup menu for a component
*/
private void setComponentPopupMenu(final java.awt.Component parent,
final javax.swing.JPopupMenu menu)
{
parent.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(java.awt.event.MouseEvent e)
{
if(e.isPopupTrigger())
menu.show(parent, e.getX(), e.getY());
}
public void mouseReleased(java.awt.event.MouseEvent e)
{
if(e.isPopupTrigger())
menu.show(parent, e.getX(), e.getY());
}
});
}
public void actionPerformed(ActionEvent e)
{
stmp = e.getActionCommand();
if(stmp.equals("Speichern"))
{
System.out.println("SPEICHERN\n");
//hohle daten aus den Feldern und übergieb sie an die Klasse Kunde
for (int i = 0; i < bez.length; i++)
{
feld_inhalt[i] = kfeld[i].getText();
}
if(aktKu.speichern(feld_inhalt))
speichern.setBackground(Color.GREEN);
else
speichern.setBackground(Color.RED);
} else if(stmp.equals("Löschen"))
{
String ja = "Ja";
String nein = "Nein";
Object[] wahlmoeglichkeiten =
{ ja, nein };
int wahl = JOptionPane.showOptionDialog(this,
"Kunde X wirklich löschen?", "Löschbestätigung",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
wahlmoeglichkeiten, nein);
if(wahl == 0)
{
if(aktKu.loeschen())
{
loeschen.setBackground(Color.GREEN);
/*
//Buttons deaktivieren
speichern.setEnabled(false);
loeschen.setEnabled(false);*/
this.dispose();
} else
speichern.setBackground(Color.RED);
}
}
}
}
Code:
/*
* Created on 23.06.2006
*
*/
package gui.kunde;
import javax.swing.JFrame;
/**
* This code was generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit [url]www.cloudgarden.com[/url] for details.
* Use of Jigloo implies acceptance of these licensing terms.
* *************************************
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED
* for this machine, so Jigloo or this code cannot be used legally
* for any corporate or commercial purpose.
* *************************************
*/
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.ListModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.JButton;
import control.Kunde;
import java.awt.event.ActionListener;
/**
* @author Manu
*/
public class KundenAnzeigen extends JFrame
{
private JPanel masterPanel;
private JPanel kopfPanel;
private JButton edit;
private JLabel kundenAnzeigen;
private JPanel fussPanel;
private JList kundenListe;
private JScrollPane mittePanel;
//In der Variable id wird die Listennummer des angezeigten Eintrags
// gespeichert.
//Das geschieht vom SelectionListener.
private int[] id;
private int aktuelle_id;
private int[] aktuelle_ids;
//kundenDaten speichert im ersten Feld: 0-> listennummer
// 1-> kundennummer
// im zweiten Feld: Die formatierte Ausgabe, also [0][x].
private String[][] kundenDaten;
public void initGUI()
{
liesDaten();
aktuelle_id = 0;
{
masterPanel = new JPanel();
BorderLayout masterPanelLayout = new BorderLayout();
masterPanel.setLayout(masterPanelLayout);
this.getContentPane().add(masterPanel, BorderLayout.CENTER);
this.setSize(500, 300);
this.setTitle("Kunden Anzeigen");
this.setLocation(300, 300);
//Fenster schließbar machen
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
((Frame) evt.getComponent()).dispose();
}
});
{
kopfPanel = new JPanel();
masterPanel.add(kopfPanel, BorderLayout.NORTH);
{
kundenAnzeigen = new JLabel("Kunden Anzeigen");
kopfPanel.add(kundenAnzeigen);
}
}
{
mittePanel = new JScrollPane();
masterPanel.add(mittePanel, BorderLayout.CENTER);
{
ListModel kundenListeModel = new DefaultComboBoxModel(
kundenDaten[1]);
kundenListe = new JList();
mittePanel.setViewportView(kundenListe);
kundenListe.setModel(kundenListeModel);
kundenListe
.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
//System.out.println("kundenListe.valueChanged,
// event=" + e);
aktuelle_ids = ((JList)e.getSource()).getSelectedIndices();
aktuelle_id=aktuelle_ids[0];
System.out.println("Eintrag aus Kunenliste: "
+ aktuelle_id);
}
});
}
}
{
fussPanel = new JPanel();
masterPanel.add(fussPanel, BorderLayout.SOUTH);
{
edit = new JButton();
fussPanel.add(edit);
edit.setText("Ändern");
edit.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//Ändere Kunde... Dafür braucht mann die
// Kundennummer der Liste. Diese Steckt in ids[1]
// Dann übergibt man an KundeNeuGui
KundeMaske k = new KundeMaske(Integer
.parseInt(kundenDaten[0][aktuelle_id]));
k.initGUI();
k.setVisible(true);
}
});
}
}
}
}
private void liesDaten()
{
Kunde alleKunden = new Kunde();
alleKunden.setSuche(" WHERE name LIKE '%%' ");
kundenDaten = alleKunden.getEintraegeListe();
}
/**
* Auto-generated method for setting the popup menu for a component
*/
private void setComponentPopupMenu(final java.awt.Component parent,
final javax.swing.JPopupMenu menu)
{
parent.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mousePressed(java.awt.event.MouseEvent e)
{
if(e.isPopupTrigger())
menu.show(parent, e.getX(), e.getY());
}
public void mouseReleased(java.awt.event.MouseEvent e)
{
if(e.isPopupTrigger())
menu.show(parent, e.getX(), e.getY());
}
});
}
}
|