Advertisement
peterzig

[JAVA] Moje Tabelki Modelki

May 6th, 2017
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 16.47 KB | None | 0 0
  1. package javaapplication3;
  2.  
  3. import javax.swing.JDialog;
  4. import javax.swing.JOptionPane;
  5. import javax.swing.table.DefaultTableModel;
  6.  
  7. public class mainWindow extends javax.swing.JFrame {
  8.  
  9.     public mainWindow() {
  10.         initComponents();
  11.     }
  12.    
  13.     private static long idCounter = 1;
  14.  
  15.     public static synchronized String createID()
  16.     {
  17.     return String.valueOf(idCounter++);
  18.     }    
  19.  
  20.     @SuppressWarnings("unchecked")
  21.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  22.     private void initComponents() {
  23.  
  24.         jDialog1 = new javax.swing.JDialog();
  25.         jLabel1 = new javax.swing.JLabel();
  26.         jLabel2 = new javax.swing.JLabel();
  27.         jLabel3 = new javax.swing.JLabel();
  28.         jLabel4 = new javax.swing.JLabel();
  29.         jButton1 = new javax.swing.JButton();
  30.         jButton2 = new javax.swing.JButton();
  31.         jTextField1 = new javax.swing.JTextField();
  32.         jTextField2 = new javax.swing.JTextField();
  33.         jTextField3 = new javax.swing.JTextField();
  34.         jTextField4 = new javax.swing.JTextField();
  35.         jButton3 = new javax.swing.JButton();
  36.         jScrollPane1 = new javax.swing.JScrollPane();
  37.         jTable1 = new javax.swing.JTable();
  38.         jMenuBar1 = new javax.swing.JMenuBar();
  39.         jMenu1 = new javax.swing.JMenu();
  40.         jMenuItem1 = new javax.swing.JMenuItem();
  41.         jMenuItem2 = new javax.swing.JMenuItem();
  42.         jMenuItem3 = new javax.swing.JMenuItem();
  43.         jMenuItem4 = new javax.swing.JMenuItem();
  44.  
  45.         jDialog1.setTitle("Dodaj kandydatkę");
  46.  
  47.         jLabel1.setText("Imię");
  48.  
  49.         jLabel2.setText("Nazwisko");
  50.  
  51.         jLabel3.setText("Wiek");
  52.  
  53.         jLabel4.setText("Narodowość");
  54.  
  55.         jButton1.setText("Dodaj");
  56.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  57.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  58.                 jButton1ActionPerformed(evt);
  59.             }
  60.         });
  61.  
  62.         jButton2.setText("Anuluj");
  63.         jButton2.addActionListener(new java.awt.event.ActionListener() {
  64.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  65.                 jButton2ActionPerformed(evt);
  66.             }
  67.         });
  68.  
  69.         jTextField1.addActionListener(new java.awt.event.ActionListener() {
  70.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  71.                 jTextField1ActionPerformed(evt);
  72.             }
  73.         });
  74.  
  75.         jButton3.setText("Modyfikuj");
  76.         jButton3.addActionListener(new java.awt.event.ActionListener() {
  77.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  78.                 jButton3ActionPerformed(evt);
  79.             }
  80.         });
  81.  
  82.         javax.swing.GroupLayout jDialog1Layout = new javax.swing.GroupLayout(jDialog1.getContentPane());
  83.         jDialog1.getContentPane().setLayout(jDialog1Layout);
  84.         jDialog1Layout.setHorizontalGroup(
  85.             jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  86.             .addGroup(jDialog1Layout.createSequentialGroup()
  87.                 .addGap(25, 25, 25)
  88.                 .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  89.                     .addGroup(jDialog1Layout.createSequentialGroup()
  90.                         .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  91.                             .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jDialog1Layout.createSequentialGroup()
  92.                                 .addComponent(jLabel4)
  93.                                 .addGap(18, 18, 18)
  94.                                 .addComponent(jTextField4, javax.swing.GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE))
  95.                             .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jDialog1Layout.createSequentialGroup()
  96.                                 .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  97.                                     .addComponent(jLabel1)
  98.                                     .addComponent(jLabel2)
  99.                                     .addComponent(jLabel3))
  100.                                 .addGap(33, 33, 33)
  101.                                 .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  102.                                     .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE)
  103.                                     .addComponent(jTextField2)
  104.                                     .addComponent(jTextField3))))
  105.                         .addGap(0, 0, Short.MAX_VALUE))
  106.                     .addGroup(jDialog1Layout.createSequentialGroup()
  107.                         .addComponent(jButton3)
  108.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  109.                         .addComponent(jButton1)
  110.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  111.                         .addComponent(jButton2)
  112.                         .addContainerGap(38, Short.MAX_VALUE))))
  113.         );
  114.         jDialog1Layout.setVerticalGroup(
  115.             jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  116.             .addGroup(jDialog1Layout.createSequentialGroup()
  117.                 .addGap(16, 16, 16)
  118.                 .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  119.                     .addComponent(jLabel1)
  120.                     .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  121.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  122.                 .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  123.                     .addComponent(jLabel2)
  124.                     .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  125.                 .addGap(18, 18, 18)
  126.                 .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  127.                     .addComponent(jLabel3)
  128.                     .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  129.                 .addGap(18, 18, 18)
  130.                 .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  131.                     .addComponent(jLabel4)
  132.                     .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  133.                 .addGap(18, 18, 18)
  134.                 .addGroup(jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  135.                     .addComponent(jButton1)
  136.                     .addComponent(jButton2)
  137.                     .addComponent(jButton3))
  138.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  139.         );
  140.  
  141.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  142.         setTitle("Wybory Miss Universe");
  143.  
  144.         jTable1.setModel(new javax.swing.table.DefaultTableModel(
  145.             new Object [][] {
  146.  
  147.             },
  148.             new String [] {
  149.                 "ID", "Imię", "Nazwisko", "Wiek", "Narodowość"
  150.             }
  151.         ) {
  152.             boolean[] canEdit = new boolean [] {
  153.                 false, false, false, false, false
  154.             };
  155.  
  156.             public boolean isCellEditable(int rowIndex, int columnIndex) {
  157.                 return canEdit [columnIndex];
  158.             }
  159.         });
  160.         jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
  161.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  162.                 jTable1MouseClicked(evt);
  163.             }
  164.         });
  165.         jScrollPane1.setViewportView(jTable1);
  166.         if (jTable1.getColumnModel().getColumnCount() > 0) {
  167.             jTable1.getColumnModel().getColumn(0).setMinWidth(30);
  168.             jTable1.getColumnModel().getColumn(0).setMaxWidth(50);
  169.         }
  170.  
  171.         jMenu1.setText("Kandydatka");
  172.         jMenu1.setToolTipText("");
  173.         jMenu1.setName(""); // NOI18N
  174.  
  175.         jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK));
  176.         jMenuItem1.setText("Dodaj");
  177.         jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
  178.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  179.                 jMenuItem1ActionPerformed(evt);
  180.             }
  181.         });
  182.         jMenu1.add(jMenuItem1);
  183.  
  184.         jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.CTRL_MASK));
  185.         jMenuItem2.setText("Modyfikuj");
  186.         jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
  187.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  188.                 jMenuItem2ActionPerformed(evt);
  189.             }
  190.         });
  191.         jMenu1.add(jMenuItem2);
  192.  
  193.         jMenuItem3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_DELETE, 0));
  194.         jMenuItem3.setText("Usuń");
  195.         jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
  196.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  197.                 jMenuItem3ActionPerformed(evt);
  198.             }
  199.         });
  200.         jMenu1.add(jMenuItem3);
  201.  
  202.         jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, java.awt.event.InputEvent.ALT_MASK));
  203.         jMenuItem4.setText("Koniec");
  204.         jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
  205.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  206.                 jMenuItem4ActionPerformed(evt);
  207.             }
  208.         });
  209.         jMenu1.add(jMenuItem4);
  210.  
  211.         jMenuBar1.add(jMenu1);
  212.  
  213.         setJMenuBar(jMenuBar1);
  214.  
  215.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  216.         getContentPane().setLayout(layout);
  217.         layout.setHorizontalGroup(
  218.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  219.             .addGroup(layout.createSequentialGroup()
  220.                 .addContainerGap()
  221.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 449, Short.MAX_VALUE)
  222.                 .addContainerGap())
  223.         );
  224.         layout.setVerticalGroup(
  225.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  226.             .addGroup(layout.createSequentialGroup()
  227.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
  228.                 .addGap(0, 6, Short.MAX_VALUE))
  229.         );
  230.  
  231.         pack();
  232.     }// </editor-fold>                        
  233.  
  234.     private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  235.        jTextField1.setText("");
  236.        jTextField2.setText("");
  237.        jTextField3.setText("");
  238.        jTextField4.setText("");
  239.        jDialog1.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
  240.        jButton3.setVisible(false);
  241.        jButton1.setVisible(true);
  242.        jDialog1.setVisible(true);
  243.        jDialog1.setSize(250, 250);
  244.        jDialog1.setResizable(false);
  245.        jDialog1.setLocationRelativeTo(null);
  246.     }                                          
  247.  
  248.     private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  249.         System.exit(0);
  250.     }                                          
  251.  
  252.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  253.         DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
  254.        
  255.         if(!jTextField1.getText().trim().equals("")){
  256.            model.addRow(new Object[]{createID(), jTextField1.getText(), jTextField2.getText(), jTextField3.getText(),jTextField4.getText()});
  257.         }
  258.         else {
  259.             JOptionPane.showMessageDialog(null, "Pole nie może być puste!");
  260.         }
  261.     }                                        
  262.  
  263.     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  264.         jDialog1.setVisible(false); //zamkniecie po nacisnieciu JButtona "Anuluj"
  265.     }                                        
  266.  
  267.     private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  268.        DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
  269.        
  270.        if(jTable1.getSelectedRow()==-1)
  271.        {
  272.          if(jTable1.getRowCount()==0){
  273.              JOptionPane.showMessageDialog(null, "Tabela jest pusta!");
  274.          }else{
  275.              JOptionPane.showMessageDialog(null, "Wybierz kandydatkę!");
  276.          }
  277.        }else{
  278.        jDialog1.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
  279.        jButton1.setVisible(false);
  280.        jButton3.setVisible(true);
  281.        jDialog1.setVisible(true);
  282.        jDialog1.setSize(250, 250);
  283.        jDialog1.setResizable(false);
  284.        jDialog1.setLocationRelativeTo(null);
  285.        }
  286.     }                                          
  287.  
  288.     private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  289.         DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
  290.        
  291.        if(jTable1.getSelectedRow()==-1)
  292.        {
  293.          if(jTable1.getRowCount()==0){
  294.              JOptionPane.showMessageDialog(null, "Tabela jest pusta!");
  295.          }else{
  296.              JOptionPane.showMessageDialog(null, "Wybierz kandydatkę!");
  297.          }
  298.        }else{
  299.        model.removeRow(jTable1.getSelectedRow());
  300.        }
  301.     }                                          
  302.  
  303.     private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                    
  304.         DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
  305.         jTextField1.setText(model.getValueAt(jTable1.getSelectedRow(), 1).toString());
  306.         jTextField2.setText(model.getValueAt(jTable1.getSelectedRow(), 2).toString());
  307.         jTextField3.setText(model.getValueAt(jTable1.getSelectedRow(), 3).toString());
  308.         jTextField4.setText(model.getValueAt(jTable1.getSelectedRow(), 4).toString());
  309.     }                                    
  310.  
  311.     private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  312.        DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
  313.        model.setValueAt(jTextField1.getText(), jTable1.getSelectedRow(), 1);
  314.        model.setValueAt(jTextField2.getText(), jTable1.getSelectedRow(), 2);
  315.        model.setValueAt(jTextField3.getText(), jTable1.getSelectedRow(), 3);
  316.        model.setValueAt(jTextField4.getText(), jTable1.getSelectedRow(), 4);
  317.     }                                        
  318.  
  319.     private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
  320.  
  321.     }                                          
  322.  
  323.    
  324.    
  325.     public static void main(String args[]) {
  326.        
  327.         java.awt.EventQueue.invokeLater(new Runnable() {
  328.             public void run() {
  329.                 new mainWindow().setVisible(true);
  330.             }
  331.         });
  332.     }
  333.  
  334.     // Variables declaration - do not modify                    
  335.     private javax.swing.JButton jButton1;
  336.     private javax.swing.JButton jButton2;
  337.     private javax.swing.JButton jButton3;
  338.     private javax.swing.JDialog jDialog1;
  339.     private javax.swing.JLabel jLabel1;
  340.     private javax.swing.JLabel jLabel2;
  341.     private javax.swing.JLabel jLabel3;
  342.     private javax.swing.JLabel jLabel4;
  343.     private javax.swing.JMenu jMenu1;
  344.     private javax.swing.JMenuBar jMenuBar1;
  345.     private javax.swing.JMenuItem jMenuItem1;
  346.     private javax.swing.JMenuItem jMenuItem2;
  347.     private javax.swing.JMenuItem jMenuItem3;
  348.     private javax.swing.JMenuItem jMenuItem4;
  349.     private javax.swing.JScrollPane jScrollPane1;
  350.     private javax.swing.JTable jTable1;
  351.     private javax.swing.JTextField jTextField1;
  352.     private javax.swing.JTextField jTextField2;
  353.     private javax.swing.JTextField jTextField3;
  354.     private javax.swing.JTextField jTextField4;
  355.     // End of variables declaration                  
  356. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement