package bdhw; import classes.Database; import classes.Goods; import classes.Sale; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; /** * * @author User */ public class bdHW extends javax.swing.JFrame { Goods[] goods = null; Sale[] sales = null; int numGoods = 0; private int indexSelected = 0; private int indexPage; /** * Creates new form bdHW */ public bdHW() { initComponents(); try { Database.conn(); numGoods = (int) Database.getRowFromTable("goods", "count()", 1); } catch (ClassNotFoundException | SQLException ex) { Logger.getLogger(bdHW.class.getName()).log(Level.SEVERE, null, ex); } goods = new Goods[numGoods]; for (int i = 0; i < numGoods; i++) goods[i] = new Goods(i+1); initContent(); jDialogSearch.pack(); } private void initComponents() {...}// private void jButtonNextActionPerformed(java.awt.event.ActionEvent evt) { indexPage++; setBottomValues(indexPage); jButtonPrev.setEnabled(true); if(indexPage+1 == sales.length) jButtonNext.setEnabled(false); } private void jListGoodsValueChanged(javax.swing.event.ListSelectionEvent evt) { indexSelected = jListGoods.getSelectedIndex(); jTextFieldGnumSales.setText(Integer.toString(goods[indexSelected].getNumSales())); jTextFieldGnumWarehouse.setText(Integer.toString(goods[indexSelected].getNumWarehouse())); if(indexSelected != -1) jButtonFind.setEnabled(true); } private void jButtonFindActionPerformed(java.awt.event.ActionEvent evt) { initSearch(); } private void jTextFieldGDateActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } private void jButtonDoFindActionPerformed(java.awt.event.ActionEvent evt) { String dateStart = String.valueOf(jSpinner1.getValue())+"-"+(String)jComboBoxMonths1.getSelectedItem()+"-"+(String)jComboBoxDays1.getSelectedItem(); String dateEnd = String.valueOf(jSpinner2.getValue())+"-"+(String)jComboBoxMonths2.getSelectedItem()+"-"+(String)jComboBoxDays2.getSelectedItem(); if((int) jSpinner1.getValue() > (int) jSpinner2.getValue()) JOptionPane.showMessageDialog(jDialogSearch, "Дата начала не может быть позже конца."); else if( ((int) jSpinner1.getValue() == (int) jSpinner2.getValue()) &&(Integer.parseInt((String) jComboBoxMonths1.getSelectedItem()) > Integer.parseInt((String)jComboBoxMonths2.getSelectedItem())) ) JOptionPane.showMessageDialog(jDialogSearch, "Дата начала не может быть позже конца."); else if(Integer.parseInt((String) jComboBoxMonths1.getSelectedItem()) == Integer.parseInt((String)jComboBoxMonths2.getSelectedItem()) &&(Integer.parseInt((String)jComboBoxDays1.getSelectedItem()) > Integer.parseInt((String)jComboBoxDays2.getSelectedItem())) ) JOptionPane.showMessageDialog(jDialogSearch, "Дата начала не может быть позже конца."); else { int numSales = 0; try { numSales = Database.getSaleInfoNum(goods[indexSelected].getId_goods(), dateStart, dateEnd, indexSelected); System.out.println("numSales="+numSales); } catch (SQLException ex) { Logger.getLogger(bdHW.class.getName()).log(Level.SEVERE, null, ex); } if(numSales == 0) { JOptionPane.showMessageDialog(jDialogSearch, "На данном промежутке времени продаж нет."); } else { sales = new Sale[numSales]; System.out.println(numSales); for (int i = 0; i < numSales; i++){ sales[i] = new Sale(goods[indexSelected].getId_goods(), dateStart, dateEnd, i+1); } jDialogSearch.dispose(); initBottom(); } } } private void jButtonPrevActionPerformed(java.awt.event.ActionEvent evt) { indexPage--; jButtonNext.setEnabled(true); if(indexPage == 0) jButtonPrev.setEnabled(false); setBottomValues(indexPage); } public static void main(String args[]) {...} // Variables declaration - do not modify {...} // End of variables declaration private void initContent() { String[] listData = new String[numGoods]; for(int i = 0; i < numGoods; i++){ listData[i] = goods[i].getName(); } jListGoods.setListData(listData); } private void initSearch() { jTextFieldSelectedName.setText(goods[indexSelected].getName()); jDialogSearch.setVisible(true); } private void bottomVisible(boolean visSwitch){ jButtonNext.setVisible(visSwitch); jButtonPrev.setVisible(visSwitch); jTextFieldGQuantity.setVisible(visSwitch); jTextFieldGPrice.setVisible(visSwitch); jTextFieldGDate.setVisible(visSwitch); jTextFieldGEmployee.setVisible(visSwitch); } private void initBottom() { indexPage = 0; jButtonPrev.setEnabled(false); jButtonNext.setEnabled(true); if(sales.length==1) jButtonNext.setEnabled(false); setBottomValues(indexPage); bottomVisible(true); } private void setBottomValues(int index){ jTextFieldGEmployee.setText(sales[index].getEmployee()); jTextFieldGDate.setText(sales[index].getDate()); jTextFieldGQuantity.setText(String.valueOf(sales[index].getQuantity())); jTextFieldGPrice.setText(String.valueOf(sales[index].getPrice())); } }