3 import java
.awt
.BorderLayout
;
4 import java
.awt
.event
.MouseEvent
;
5 import java
.awt
.event
.MouseListener
;
6 import java
.util
.Vector
;
8 import javax
.swing
.JOptionPane
;
9 import javax
.swing
.JScrollPane
;
10 import javax
.swing
.SwingUtilities
;
11 import javax
.swing
.table
.DefaultTableModel
;
13 import org
.jdesktop
.swingx
.JXPanel
;
14 import org
.jdesktop
.swingx
.JXTable
;
15 import org
.thera_pi
.nebraska
.gui
.utils
.JCompTools
;
17 import verkauf
.model
.Artikel
;
19 import com
.jgoodies
.forms
.layout
.CellConstraints
;
20 import com
.jgoodies
.forms
.layout
.FormLayout
;
22 public class LagerGUI
extends JXPanel
{
27 private static final long serialVersionUID
= 1L;
28 private VerkaufTab owner
;
29 private DefaultTableModel lgmod
;
30 private JXTable lgtab
;
31 private JScrollPane jscr
;
32 private Vector
<String
> columns
;
33 private ArtikelDialog adlg
;
35 LagerGUI(VerkaufTab owner
) {
39 columns
= new Vector
<String
>();
41 columns
.add("Artikel-ID");
42 columns
.add("Beschreibung");
43 columns
.add("VK-Preis");
44 columns
.add("EK-Preis");
45 columns
.add("Lieferant");
46 columns
.add("Lagerstand");
49 this.setOpaque(false);
50 this.setLayout(new BorderLayout());
51 this.add(getContent(), BorderLayout
.CENTER
);
55 private JXPanel
getContent() {
56 JXPanel pane
= new JXPanel();
57 pane
.setOpaque(false);
59 String xwerte
= "5dlu, p:g, 5dlu";
60 String ywerte
= "5dlu, p:g, 5dlu";
62 FormLayout lay
= new FormLayout(xwerte
, ywerte
);
63 CellConstraints cc
= new CellConstraints();
66 lgmod
= new DefaultTableModel();
67 lgtab
= new JXTable(lgmod
);
68 lgtab
.setEditable(false);
69 this.setzeTabDaten(Artikel
.liefereArtikelDaten());
70 lgtab
.addMouseListener(new MouseListener() {
72 public void mouseClicked(MouseEvent arg0
) {
73 if(arg0
.getClickCount() == 2) {
74 owner
.aktiviereFunktion(VerkaufTab
.edit
);
79 public void mouseEntered(MouseEvent arg0
) {
83 public void mouseExited(MouseEvent arg0
) {
87 public void mousePressed(MouseEvent arg0
) {
91 public void mouseReleased(MouseEvent arg0
) {
95 jscr
= JCompTools
.getTransparentScrollPane(lgtab
);
97 pane
.add(jscr
, cc
.xy(2, 2));
103 public void aktiviereFunktion(int befehl
) {
104 if(befehl
== VerkaufTab
.neu
) {
106 this.setzeTabDaten(Artikel
.liefereArtikelDaten());
107 } else if(befehl
== VerkaufTab
.edit
) {
108 if(this.lgtab
.getSelectedRow() >= 0) {
109 doArtikelDialog(Integer
.parseInt((String
)this.lgmod
.getValueAt(this.lgtab
.getSelectedRow(), this.lgmod
.getColumnCount()-1)));
110 this.setzeTabDaten(Artikel
.liefereArtikelDaten());
112 JOptionPane
.showMessageDialog(null, "Wen oder was willst du ändern?");
114 } else if(befehl
== VerkaufTab
.delete
) {
115 if(this.lgtab
.getSelectedRow() >= 0) {
116 Artikel
.loescheArtikel(Integer
.parseInt((String
)this.lgmod
.getValueAt(this.lgtab
.getSelectedRow(), this.lgmod
.getColumnCount()-1)));
117 this.setzeTabDaten(Artikel
.liefereArtikelDaten());
119 JOptionPane
.showMessageDialog(null, "Wen oder was willst du löschen?");
121 } else if(befehl
== VerkaufTab
.suche
) {
122 this.setzeTabDaten(Artikel
.sucheArtikelDaten(this.owner
.sucheText
.getText()));
126 private void setzeTabDaten(Vector
<Vector
<String
>> daten
) {
127 this.lgmod
.setDataVector(daten
, this.columns
);
128 this.lgtab
.getColumn(this.lgmod
.getColumnCount()-1).setMinWidth(0);
129 this.lgtab
.getColumn(this.lgmod
.getColumnCount()-1).setMaxWidth(0);
132 private void doArtikelDialog(int id
) {
133 adlg
= new ArtikelDialog(id
, this.owner
.holePosition(300, 300));
134 SwingUtilities
.invokeLater(new Runnable(){
140 adlg
.setVisible(true);