📄 storejdialog.java.svn-base
字号:
/* * StoreJDialog.java * * Created on 2007年6月4日, 下午10:48 */package com.studio009.store.ui;import com.studio009.store.StoreApp;import com.studio009.store.entity.Store;import java.util.List;import java.util.Vector;import javax.persistence.EntityManager;import javax.persistence.Query;import javax.swing.JOptionPane;import javax.swing.table.DefaultTableModel;/** * 仓库管理对话框 * 显是所以仓库的列表 * @see Store * @see StoreEditer * @author wangs */public class StoreJDialog extends javax.swing.JDialog { /** Creates new form StoreJDialog * @param parent 父窗口 * @param modal 模式 */ public StoreJDialog(java.awt.Window parent, boolean modal) { super(parent, java.awt.Dialog.ModalityType.APPLICATION_MODAL); initComponents(); this.setLocationRelativeTo(parent); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jButton4 = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("\u4ed3\u5e93\u7ba1\u7406"); jButton1.setText("\u7f16\u8f91"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jButton2.setText("\u65b0\u5efa"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); jButton3.setText("\u5220\u9664"); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt); } }); jButton4.setText("\u9000\u51fa"); jButton4.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton4ActionPerformed(evt); } }); jTable1.setModel(initialTableModel()); jScrollPane1.setViewportView(jTable1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(26, 26, 26) .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(27, 27, 27) .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 101, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(26, 26, 26) .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(26, 26, 26) .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 517, Short.MAX_VALUE))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 77, Short.MAX_VALUE) .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 263, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed this.dispose();}//GEN-LAST:event_jButton4ActionPerformedprivate void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed // 删除一个仓库 if (jTable1.getSelectedRow() == -1) { JOptionPane.showMessageDialog(this, "请选择一个仓库!", "错误", JOptionPane.ERROR_MESSAGE); return; } int [] selected = jTable1.getSelectedRows(); String Names = ""; for (int i = selected.length - 1; i>= 0; i--) { Names += " \"" + list.get(selected[i]).getStoreName() + "\""; } int result = JOptionPane.showConfirmDialog(this, "确定要删除" + Names + " 吗?", "", JOptionPane.YES_NO_OPTION); if (result != JOptionPane.OK_OPTION) return; if (list.size() == 1) { JOptionPane.showMessageDialog(this, "不能删除,至少要保留一个仓库!"); return; } for (int i = selected.length - 1; i >= 0; i--) { Store s = list.get(selected[i]); if (s.getProfitLossCollection() == null || s.getProfitLossCollection().isEmpty() || s.getStoregoodsCollection() == null || s.getStoregoodsCollection().isEmpty()){ em.remove(s); } else { JOptionPane.showMessageDialog(this, s.getStoreName() + " 已经发生了业务,不能删除!"); } } try{ em.getTransaction().commit(); } catch (Exception e) { JOptionPane.showMessageDialog(this, "错误!"); em.getTransaction().rollback(); } em.getTransaction().begin(); updateTable();}//GEN-LAST:event_jButton3ActionPerformedprivate void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed StoreEditer ce = new StoreEditer(this, null, true); ce.setVisible(true); updateTable();}//GEN-LAST:event_jButton2ActionPerformedprivate void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed if (jTable1.getSelectedRow() == -1) { JOptionPane.showMessageDialog(this, "请选择一个仓库!", "错误", JOptionPane.ERROR_MESSAGE); return; } StoreEditer ce = new StoreEditer(this, (String)jTable1.getValueAt(jTable1.getSelectedRow(), 0), true); ce.setVisible(true); updateTable();}//GEN-LAST:event_jButton1ActionPerformed/** * 用来显示仓库的表格模型 * @return 仓库的表格模型 */private DefaultTableModel initialTableModel() { if (em != null) em.close(); em = StoreApp.getEntityManagerFactory().createEntityManager(); em.getTransaction().begin(); query = em.createQuery("SELECT o FROM Store o"); list = query.getResultList(); Vector columnName=new Vector(); columnName.add("仓库名称"); columnName.add("地址"); columnName.add("备注 "); Vector content=new Vector(); for( Store s : list) { Vector row = new Vector(); row.add(s.getStoreName()); row.add(s.getStoreAddress()); row.add(s.getStoreNote()); content.add(row); } DefaultTableModel storeTableModel=new DefaultTableModel(content,columnName){ public boolean isCellEditable(int row, int col) { return false; } }; return storeTableModel;}/** * 更新表格 */private void updateTable(){ jTable1.setModel(initialTableModel());}/** * @param args the command line arguments */public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { StoreJDialog dialog = new StoreJDialog(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosed(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } });} // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; // End of variables declaration//GEN-END:variables private EntityManager em; private Query query; private List<Store> list;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -