001 package market.stdform; 002 003 import java.awt.GridLayout; 004 005 import javax.swing.Box; 006 import javax.swing.BoxLayout; 007 import javax.swing.JLabel; 008 import javax.swing.JPanel; 009 import javax.swing.JTextField; 010 011 import market.CIArticle; 012 import market.VCPositiveInteger; 013 import market.swing.ComponentFactory; 014 import market.swing.JTFCheckable; 015 import sale.FormSheet; 016 import sale.FormSheetContentCreator; 017 018 /** 019 * This FormSheet displays the count of an article in the database and 020 * has a checkable textfield were the real count can be filled in. 021 */ 022 public class FSWorkerEdit extends FormSheet{ 023 024 /** 025 * ID for serialization. 026 */ 027 private static final long serialVersionUID = -6763771561857370346L; 028 029 public static final int JTFC_REAL = 0; 030 031 private CIArticle ci_article; 032 private int database; 033 034 /** 035 * @param article the CIArticle which`s count is incorrect. 036 * @param db the count of this article in the database. 037 */ 038 public FSWorkerEdit(CIArticle article, int db) { 039 super("Fehlbestand", null); 040 ci_article = article; 041 database = db; 042 FormSheetContentCreator fscc = new FormSheetContentCreator(){ 043 private static final long serialVersionUID = -6991790995674960736L; 044 protected void createFormSheetContent(FormSheet fs) { 045 JPanel jp_main = new JPanel(); 046 JPanel jp_grid = new JPanel(); 047 jp_main.setLayout(new BoxLayout(jp_main, BoxLayout.Y_AXIS)); 048 jp_grid.setLayout(new GridLayout(2,2)); 049 050 JTextField jt_database = new JTextField(5); 051 jt_database.setText(String.valueOf(database)); 052 jt_database.setEditable(false); 053 JTFCheckable jtfc_real = new JTFCheckable(JTFC_REAL, new VCPositiveInteger("realer Bestand"), 5); 054 055 jp_grid.setBorder(ComponentFactory.createInsetBorder("Artikel: "+ci_article.getArticleName())); 056 jp_grid.add(new JLabel("Datenbank-Bestand")); 057 jp_grid.add(jt_database); 058 jp_grid.add(new JLabel("realer Bestand")); 059 jp_grid.add(jtfc_real); 060 061 jp_main.add(Box.createVerticalStrut(160)); 062 jp_main.add(jp_grid); 063 jp_main.add(Box.createVerticalStrut(160)); 064 065 fs.setComponent(jp_main); 066 fs.removeAllButtons(); 067 fs.addButton("Korrigiere", ButtonIDs.BTN_OK, null); 068 fs.addButton("Zurück", ButtonIDs.BTN_BACK, null); 069 } 070 }; 071 this.addContentCreator(fscc); 072 } 073 074 /** 075 * @return a new {@link FSCheckable} that takes a FSWorkerEdit as argument 076 * 077 * @param article the CIArticle which`s count is incorrect. 078 * @param database the count of this article in the database. 079 */ 080 public static FSCheckable create(CIArticle article, int database){ 081 return new FSCheckable(new FSWorkerEdit(article, database)); 082 } 083 }