From 32c8042b75f0f6de96d464d58182b14585018853 Mon Sep 17 00:00:00 2001 From: Servicepoint Date: Wed, 26 Nov 2014 17:56:25 +0100 Subject: [PATCH] =?UTF-8?q?Erste=20Ans=C3=A4tze,=20ein=20Artikel-Inspect-F?= =?UTF-8?q?rame=20zu=20implementieren.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kBorrow/gui/ArticleInspectFrame.java | 53 +++++++++++++++++++ src/de/katho/kBorrow/gui/ArticlePanel.java | 8 +-- .../listener/ArticleInspectTableButton.java | 40 ++++++++++++++ .../kBorrow/models/ArticleTableModel.java | 2 +- 4 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 src/de/katho/kBorrow/gui/ArticleInspectFrame.java create mode 100644 src/de/katho/kBorrow/listener/ArticleInspectTableButton.java diff --git a/src/de/katho/kBorrow/gui/ArticleInspectFrame.java b/src/de/katho/kBorrow/gui/ArticleInspectFrame.java new file mode 100644 index 0000000..eb643cc --- /dev/null +++ b/src/de/katho/kBorrow/gui/ArticleInspectFrame.java @@ -0,0 +1,53 @@ +package de.katho.kBorrow.gui; + +import java.awt.BorderLayout; +import java.util.HashMap; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.JScrollPane; +import javax.swing.JLabel; +import javax.swing.JTable; +import java.awt.GridLayout; + +public class ArticleInspectFrame extends JFrame { + + /** + * + */ + private static final long serialVersionUID = -8993341404926674307L; + private JPanel contentPane; + private JTable table; + + /** + * Create the frame. + */ + public ArticleInspectFrame(int pArtId, HashMap pModels) { + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + setBounds(100, 100, 660, 541); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + contentPane.setLayout(new BorderLayout(0, 0)); + setContentPane(contentPane); + + JPanel panel = new JPanel(); + contentPane.add(panel, BorderLayout.CENTER); + panel.setLayout(null); + + JLabel lblNewLabel_1 = new JLabel("Artikelname"); + lblNewLabel_1.setBounds(0, 0, 100, 30); + panel.add(lblNewLabel_1); + + JLabel lblNewLabel = new JLabel("New label"); + lblNewLabel.setBounds(0, 45, 634, 45); + panel.add(lblNewLabel); + table = new JTable(); + + JScrollPane scrollPane = new JScrollPane(table); + contentPane.add(scrollPane, BorderLayout.SOUTH); + + setVisible(true); + } + +} diff --git a/src/de/katho/kBorrow/gui/ArticlePanel.java b/src/de/katho/kBorrow/gui/ArticlePanel.java index ddcab1f..a45a257 100644 --- a/src/de/katho/kBorrow/gui/ArticlePanel.java +++ b/src/de/katho/kBorrow/gui/ArticlePanel.java @@ -28,6 +28,7 @@ import de.katho.kBorrow.data.KArticle; import de.katho.kBorrow.db.DbConnector; import de.katho.kBorrow.listener.ArticleDeleteTableButton; import de.katho.kBorrow.listener.ArticleEditTableButton; +import de.katho.kBorrow.listener.ArticleInspectTableButton; import de.katho.kBorrow.models.ArticleTableModel; public class ArticlePanel extends JPanel implements ActionListener, KeyListener { @@ -61,10 +62,11 @@ public class ArticlePanel extends JPanel implements ActionListener, KeyListener articleTable.setRowHeight(30); ArticleDeleteTableButton articleDeleteTableButton = new ArticleDeleteTableButton("Löschen", articleTable, this, articleController); ArticleEditTableButton articleEditTableButton = new ArticleEditTableButton("Bearbeiten", articleTable, this); + ArticleInspectTableButton articleInspectTableButton = new ArticleInspectTableButton("Details", articleTable, pModels); - for (int i = 3; i <= 4; i++){ - articleTable.getColumnModel().getColumn(i).setCellEditor(i == 3 ? articleEditTableButton : articleDeleteTableButton); - articleTable.getColumnModel().getColumn(i).setCellRenderer(i == 3 ? articleEditTableButton : articleDeleteTableButton); + for (int i = 3; i <= 5; i++){ + articleTable.getColumnModel().getColumn(i).setCellEditor(i == 3 ? articleInspectTableButton : i == 4 ? articleEditTableButton : articleDeleteTableButton); + articleTable.getColumnModel().getColumn(i).setCellRenderer(i == 3 ? articleInspectTableButton : i == 4 ? articleEditTableButton : articleDeleteTableButton); articleTable.getColumnModel().getColumn(i).setMinWidth(30); articleTable.getColumnModel().getColumn(i).setMaxWidth(30); diff --git a/src/de/katho/kBorrow/listener/ArticleInspectTableButton.java b/src/de/katho/kBorrow/listener/ArticleInspectTableButton.java new file mode 100644 index 0000000..4e954d1 --- /dev/null +++ b/src/de/katho/kBorrow/listener/ArticleInspectTableButton.java @@ -0,0 +1,40 @@ +package de.katho.kBorrow.listener; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.io.IOException; +import java.util.HashMap; + +import javax.imageio.ImageIO; +import javax.swing.ImageIcon; +import javax.swing.JTable; + +import de.katho.kBorrow.gui.ArticleInspectFrame; + +public class ArticleInspectTableButton extends TableButton { + + /** + * + */ + private static final long serialVersionUID = -2591133864537097893L; + + public ArticleInspectTableButton(String pLabel, final JTable pTable, final HashMap pModels) throws IOException { + super(pLabel); + ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/system-search.png"))); + + buttonE.setIcon(icon); + buttonR.setIcon(icon); + + buttonE.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent e){ + fireEditingStopped(); + + int row = pTable.getSelectedRow(); + + new ArticleInspectFrame(row, pModels); + } + }); + } + +} diff --git a/src/de/katho/kBorrow/models/ArticleTableModel.java b/src/de/katho/kBorrow/models/ArticleTableModel.java index 8ca6b76..b63726a 100644 --- a/src/de/katho/kBorrow/models/ArticleTableModel.java +++ b/src/de/katho/kBorrow/models/ArticleTableModel.java @@ -18,7 +18,7 @@ public class ArticleTableModel extends AbstractTableModel { protected ArrayList data = new ArrayList(); public ArticleTableModel(DbConnector pDbCon){ - header = new String [] {"ID", "Artikelname", "Artikelbeschreibung", "", ""}; + header = new String [] {"ID", "Artikelname", "Artikelbeschreibung", "", "", ""}; this.dbCon = pDbCon; this.updateModel(); }