Advertisement
koprobo

dialog

May 23rd, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 16.86 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import javax.swing.table.AbstractTableModel;
  3.  
  4. public class Model_danych extends AbstractTableModel {
  5.  
  6.     ArrayList<Pracownik> pracownicy = new ArrayList<Pracownik>();
  7.  
  8.     public int getRowCount() {
  9.         return pracownicy.size();
  10.     }
  11.  
  12.     public int getColumnCount() {
  13.         return 7;
  14.     }
  15.  
  16.     public Object getValueAt(int rowIndex, int columnIndex) {
  17.         switch(columnIndex)
  18.         {
  19.             case 0: return rowIndex + 1;
  20.             case 1: return pracownicy.get(rowIndex).nr_pracownika;
  21.             case 2: return pracownicy.get(rowIndex).imie;
  22.             case 3: return pracownicy.get(rowIndex).nazwisko;
  23.             case 4: return pracownicy.get(rowIndex).stanowisko;
  24.             case 5: return pracownicy.get(rowIndex).kierownik ? "tak" : "nie";
  25.             case 6:
  26.                 if(pracownicy.get(rowIndex).nr_kierownika == -1)
  27.                     return "<brak>";
  28.                 else
  29.                 {
  30.                     for(int i=0; i<pracownicy.size(); ++i)
  31.                     {
  32.                         if(pracownicy.get(rowIndex).nr_kierownika == pracownicy.get(i).nr_pracownika)
  33.                             return pracownicy.get(i).imie + " " + pracownicy.get(i).nazwisko;
  34.                     }
  35.                 }
  36.             default: return "???";    
  37.         }
  38.     }
  39.  
  40.     @Override
  41.     public String getColumnName(int columnIndex)
  42.     {
  43.         switch(columnIndex)
  44.         {
  45.             case 0: return "Id";
  46.             case 1: return "Nr pracownika";
  47.             case 2: return "Imie";
  48.             case 3: return "Nazwisko";
  49.             case 4: return "Stanowisko";
  50.             case 5: return "Czy kierownik?";
  51.             case 6: return "Kto kierownik?";
  52.             default: return "???";
  53. ==========================================
  54. public class Pracownik {
  55.     int nr_pracownika;
  56.     String imie, nazwisko, stanowisko;
  57.     boolean kierownik;
  58.     int nr_kierownika;
  59.  
  60.     Pracownik(int NrPracownika, String Imie, String Nazwisko, String Stanowisko, boolean Kierownik, int NrKierownika)
  61.     {
  62.         nr_pracownika = NrPracownika;
  63.         imie = Imie;
  64.         nazwisko = Nazwisko;
  65.         stanowisko = Stanowisko;
  66.         kierownik = Kierownik;
  67.         nr_kierownika = NrKierownika;
  68.     }
  69.     public void Edytuj(String Imie, String Nazwisko, String Stanowisko, boolean Kierownik)
  70.     {
  71.         imie = Imie;
  72.         nazwisko = Nazwisko;
  73.         stanowisko = Stanowisko;
  74.         kierownik = Kierownik;
  75.     }
  76.     public String toFile()
  77.     {
  78.         return nr_pracownika + ";" + imie + ";" + nazwisko + ";" + stanowisko + ";" + kierownik + ";" + nr_kierownika + "\r\n";
  79.     }
  80. ===============================
  81.  
  82. import javax.swing.JOptionPane;
  83.  
  84. public class dialogAddEdit extends javax.swing.JDialog {
  85.  
  86.     Model_danych md;
  87.     int nr;
  88.  
  89.     public dialogAddEdit(java.awt.Frame parent, boolean modal, Model_danych Model, int Nr) {
  90.         super(parent, modal);
  91.         initComponents();
  92.         md = Model;
  93.         nr = Nr;
  94.  
  95.         if(nr==1)
  96.         {
  97.             jTextField1.setText("");
  98.             jTextField2.setText("");
  99.             jTextField3.setText("");
  100.             jTextField4.setText("");
  101.             this.setTitle("Dodaj pracownika");
  102.         }
  103.         else
  104.         {
  105.             jTextField1.setText(Integer.toString(md.pracownicy.get(nr).nr_pracownika));
  106.             jTextField1.setEnabled(false);
  107.             jTextField2.setText(md.pracownicy.get(nr).imie);
  108.             jTextField3.setText(md.pracownicy.get(nr).nazwisko);
  109.             jTextField4.setText(md.pracownicy.get(nr).stanowisko);
  110.             jCheckBox1.setSelected(md.pracownicy.get(nr).kierownik);
  111.             this.setTitle("Edytuj pracownika");
  112.         }
  113.     }
  114.  
  115.  
  116.     /** This method is called from within the constructor to
  117.      * initialize the form.
  118.      * WARNING: Do NOT modify this code. The content of this method is
  119.      * always regenerated by the Form Editor.
  120.      */
  121.     @SuppressWarnings("unchecked")
  122.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  123.     private void initComponents() {
  124.  
  125.         jLabel1 = new javax.swing.JLabel();
  126.         jLabel2 = new javax.swing.JLabel();
  127.         jLabel3 = new javax.swing.JLabel();
  128.         jLabel4 = new javax.swing.JLabel();
  129.         jTextField1 = new javax.swing.JTextField();
  130.         jTextField2 = new javax.swing.JTextField();
  131.         jTextField3 = new javax.swing.JTextField();
  132.         jTextField4 = new javax.swing.JTextField();
  133.         jCheckBox1 = new javax.swing.JCheckBox();
  134.         jButton1 = new javax.swing.JButton();
  135.         jButton2 = new javax.swing.JButton();
  136.  
  137.         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  138.         setName("Form"); // NOI18N
  139.  
  140.         org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(lab10wac.LAB10WACApp.class).getContext().getResourceMap(dialogAddEdit.class);
  141.         jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
  142.         jLabel1.setName("jLabel1"); // NOI18N
  143.  
  144.         jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
  145.         jLabel2.setName("jLabel2"); // NOI18N
  146.  
  147.         jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
  148.         jLabel3.setName("jLabel3"); // NOI18N
  149.  
  150.         jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N
  151.         jLabel4.setName("jLabel4"); // NOI18N
  152.  
  153.         jTextField1.setText(resourceMap.getString("jTextField1.text")); // NOI18N
  154.         jTextField1.setName("jTextField1"); // NOI18N
  155.  
  156.         jTextField2.setText(resourceMap.getString("jTextField2.text")); // NOI18N
  157.         jTextField2.setName("jTextField2"); // NOI18N
  158.  
  159.         jTextField3.setText(resourceMap.getString("jTextField3.text")); // NOI18N
  160.         jTextField3.setName("jTextField3"); // NOI18N
  161.  
  162.         jTextField4.setText(resourceMap.getString("jTextField4.text")); // NOI18N
  163.         jTextField4.setName("jTextField4"); // NOI18N
  164.  
  165.         jCheckBox1.setText(resourceMap.getString("jCheckBox1.text")); // NOI18N
  166.         jCheckBox1.setName("jCheckBox1"); // NOI18N
  167.  
  168.         jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
  169.         jButton1.setName("jButton1"); // NOI18N
  170.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  171.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  172.                 jButton1ActionPerformed(evt);
  173.             }
  174.         });
  175.  
  176.         jButton2.setText(resourceMap.getString("jButton2.text")); // NOI18N
  177.         jButton2.setName("jButton2"); // NOI18N
  178.         jButton2.addActionListener(new java.awt.event.ActionListener() {
  179.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  180.                 jButton2ActionPerformed(evt);
  181.             }
  182.         });
  183.  
  184.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  185.         getContentPane().setLayout(layout);
  186.         layout.setHorizontalGroup(
  187.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  188.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  189.                 .addContainerGap(301, Short.MAX_VALUE)
  190.                 .addComponent(jButton1)
  191.                 .addGap(36, 36, 36))
  192.             .addGroup(layout.createSequentialGroup()
  193.                 .addGap(39, 39, 39)
  194.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  195.                     .addComponent(jCheckBox1)
  196.                     .addGroup(layout.createSequentialGroup()
  197.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  198.                             .addComponent(jLabel1)
  199.                             .addComponent(jLabel2)
  200.                             .addComponent(jLabel3)
  201.                             .addComponent(jLabel4))
  202.                         .addGap(93, 93, 93)
  203.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  204.                             .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 120, Short.MAX_VALUE)
  205.                             .addComponent(jTextField2)
  206.                             .addComponent(jTextField3)
  207.                             .addComponent(jTextField4)))
  208.                     .addComponent(jButton2))
  209.                 .addContainerGap(76, Short.MAX_VALUE))
  210.         );
  211.         layout.setVerticalGroup(
  212.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  213.             .addGroup(layout.createSequentialGroup()
  214.                 .addGap(31, 31, 31)
  215.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  216.                     .addComponent(jLabel1)
  217.                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  218.                 .addGap(18, 18, 18)
  219.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  220.                     .addComponent(jLabel2)
  221.                     .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  222.                 .addGap(18, 18, 18)
  223.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  224.                     .addComponent(jLabel3)
  225.                     .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  226.                 .addGap(18, 18, 18)
  227.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  228.                     .addComponent(jLabel4)
  229.                     .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  230.                 .addGap(28, 28, 28)
  231.                 .addComponent(jCheckBox1)
  232.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 36, Short.MAX_VALUE)
  233.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  234.                     .addComponent(jButton1)
  235.                     .addComponent(jButton2))
  236.                 .addGap(25, 25, 25))
  237.         );
  238.  
  239.         pack();
  240.     }// </editor-fold>                        
  241.  
  242.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  243.        dispose();
  244.     }                                        
  245.  
  246.     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  247.         if(nr == -1)
  248.         {
  249.             for(int i=0; i<md.pracownicy.size(); ++i)
  250.             {
  251.                 if(Integer.parseInt(jTextField1.getText()) == md.pracownicy.get(i).nr_pracownika)
  252.                 {
  253.                     JOptionPane.showMessageDialog(rootPane, "Numer pracownika musi byc unikatowy!", "Ostrzezenie", JOptionPane.WARNING_MESSAGE);
  254.                     return;
  255.                 }
  256.             }
  257.             md.pracownicy.add(new Pracownik(Integer.parseInt(jTextField1.getText()), jTextField2.getText(), jTextField3.getText(), jTextField4.getText(), jCheckBox1.isSelected(), -1));
  258.         }
  259.         else
  260.             md.pracownicy.get(nr).Edytuj(jTextField2.getText(), jTextField3.getText(), jTextField4.getText(), jCheckBox1.isSelected());
  261.         dispose();
  262.     }                                        
  263.  
  264.     /**
  265.     * @param args the command line arguments
  266.     */
  267.     public static void main(String args[]) {
  268.         java.awt.EventQueue.invokeLater(new Runnable() {
  269.             public void run() {
  270.                 dialogAddEdit dialog = new dialogAddEdit(new javax.swing.JFrame(), true, null, -1);
  271.                 dialog.addWindowListener(new java.awt.event.WindowAdapter() {
  272.                     public void windowClosing(java.awt.event.WindowEvent e) {
  273.                         System.exit(0);
  274.                     }
  275.                 });
  276.                 dialog.setVisible(true);
  277. ==================================
  278.  
  279. public class dialogKierownik extends javax.swing.JDialog {
  280.  
  281.     Model_danych md;
  282.     int nr;
  283.     int [] nr_kier;
  284.     public dialogKierownik(java.awt.Frame parent, boolean modal, Model_danych Model, int Nr) {
  285.         super(parent, modal);
  286.         initComponents();
  287.         this.setTitle("Ustaw kierownika");
  288.         md = Model;
  289.         nr = Nr;
  290.         nr_kier = new int[md.pracownicy.size()];
  291.         jLabel1.setText(jLabel1.getText() + md.pracownicy.get(nr).imie + " " + md.pracownicy.get(nr).nazwisko);
  292.         int i = 1;
  293.         jComboBox1.addItem("<brak>");
  294.         nr_kier[0] = -1;
  295.         for(Pracownik p : md.pracownicy)
  296.         {
  297.             if(p.kierownik)
  298.             {
  299.                 jComboBox1.addItem((Object)p.imie + " " + p.nazwisko);
  300.                 nr_kier[i] = p.nr_pracownika;
  301.                 ++i;
  302.             }
  303.         }
  304.     }
  305.  
  306.     /** This method is called from within the constructor to
  307.      * initialize the form.
  308.      * WARNING: Do NOT modify this code. The content of this method is
  309.      * always regenerated by the Form Editor.
  310.      */
  311.     @SuppressWarnings("unchecked")
  312.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  313.     private void initComponents() {
  314.  
  315.         jLabel1 = new javax.swing.JLabel();
  316.         jComboBox1 = new javax.swing.JComboBox();
  317.         jButton1 = new javax.swing.JButton();
  318.         jButton2 = new javax.swing.JButton();
  319.  
  320.         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  321.         setName("Form"); // NOI18N
  322.  
  323.         org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(lab10wac.LAB10WACApp.class).getContext().getResourceMap(dialogKierownik.class);
  324.         jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
  325.         jLabel1.setName("jLabel1"); // NOI18N
  326.  
  327.         jComboBox1.setName("jComboBox1"); // NOI18N
  328.  
  329.         jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
  330.         jButton1.setName("jButton1"); // NOI18N
  331.  
  332.         jButton2.setText(resourceMap.getString("jButton2.text")); // NOI18N
  333.         jButton2.setName("jButton2"); // NOI18N
  334.  
  335.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  336.         getContentPane().setLayout(layout);
  337.         layout.setHorizontalGroup(
  338.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  339.             .addGroup(layout.createSequentialGroup()
  340.                 .addGap(46, 46, 46)
  341.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  342.                     .addComponent(jLabel1)
  343.                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  344.                         .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
  345.                             .addComponent(jButton2)
  346.                             .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  347.                             .addComponent(jButton1))
  348.                         .addComponent(jComboBox1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 328, javax.swing.GroupLayout.PREFERRED_SIZE)))
  349.                 .addContainerGap(26, Short.MAX_VALUE))
  350.         );
  351.         layout.setVerticalGroup(
  352.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  353.             .addGroup(layout.createSequentialGroup()
  354.                 .addGap(21, 21, 21)
  355.                 .addComponent(jLabel1)
  356.                 .addGap(18, 18, 18)
  357.                 .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  358.                 .addGap(18, 18, 18)
  359.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  360.                     .addComponent(jButton2)
  361.                     .addComponent(jButton1))
  362.                 .addContainerGap(20, Short.MAX_VALUE))
  363.         );
  364.  
  365.         pack();
  366.     }// </editor-fold>                        
  367.  
  368.     /**
  369.     * @param args the command line arguments
  370.     */
  371.     public static void main(String args[]) {
  372.         java.awt.EventQueue.invokeLater(new Runnable() {
  373.             public void run() {
  374.                 dialogKierownik dialog = new dialogKierownik(new javax.swing.JFrame(), true, null, 0);
  375.                 dialog.addWindowListener(new java.awt.event.WindowAdapter() {
  376.                     public void windowClosing(java.awt.event.WindowEvent e) {
  377.                         System.exit(0);
  378.                     }
  379.                 });
  380.                 dialog.setVisible(true);
  381.             }
  382.         });
  383.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement