📄 goodscategoryjdialog.java.svn-base
字号:
/* * GoodsCategoryJDialog.java * * Created on 2007年6月5日, 下午11:38 */package com.studio009.store.ui;import com.studio009.store.StoreApp;import com.studio009.store.entity.GoodsCategory;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;/** * 商品分类操作对话框 * 列出所有的商品分类 * @author wangs */public class GoodsCategoryJDialog extends javax.swing.JDialog { /** Creates new form GoodsCategoryJDialog * @param parent 父窗口 * @param modal 模式 */ public GoodsCategoryJDialog(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("\u5546\u54c1\u5206\u7c7b\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.TRAILING) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 517, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, 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))) .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.DEFAULT_SIZE, 231, Short.MAX_VALUE) .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]).getGoodsCategoryName() + "\""; } 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--) { GoodsCategory gc = list.get(selected[i]); if (gc.getGoodsCollection() == null || gc.getGoodsCollection().isEmpty()){ em.remove(gc); } else { JOptionPane.showMessageDialog(this, gc.getGoodsCategoryName() + " 已经发生了业务,不能删除!"); } } 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 GoodsCategoryEditer oe = new GoodsCategoryEditer(this, 0, true); oe.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; } GoodsCategoryEditer ge = new GoodsCategoryEditer(this, list.get(jTable1.getSelectedRow()).getGoodsCategoryID(), true); ge.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 g FROM GoodsCategory g"); list = query.getResultList(); Vector columnName=new Vector(); //columnName.add("商品分类ID"); columnName.add("商品分类名称"); Vector content=new Vector(); for( GoodsCategory g : list) { Vector row = new Vector(); //row.add(g.getGoodsCategoryID()); row.add(g.getGoodsCategoryName()); content.add(row); } DefaultTableModel goodsCategoryTableModel=new DefaultTableModel(content,columnName){ public boolean isCellEditable(int row, int col) { return false; } }; return goodsCategoryTableModel;}/** * 更新表格 */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() { GoodsCategoryJDialog dialog = new GoodsCategoryJDialog(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(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<GoodsCategory> list;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -