📄 fcjframe.java
字号:
/* * FCJFrame.java * * Created on 2006年4月22日, 上午11:08 */package resourceInfoManage;import java.awt.*;import mySql.*;import java.sql.*;import javax.swing.*;import javax.swing.tree.*;import javax.swing.event.*;import myClass.*;/** * * @author wang */public class FCJFrame extends javax.swing.JFrame{ private DefaultMutableTreeNode root=new DefaultMutableTreeNode("小区"); private DefaultMutableTreeNode aRoot=new DefaultMutableTreeNode("A栋"); private DefaultMutableTreeNode bRoot=new DefaultMutableTreeNode("B栋"); private DefaultMutableTreeNode cRoot=new DefaultMutableTreeNode("C栋"); boolean addFlag=false; boolean modifyFlag=false; private Toolkit toolkit = Toolkit.getDefaultToolkit(); protected DefaultTreeModel treeModel; ResultSet rs=null; DBSQLManager db=new DBSQLManager(); public FCJFrame() { super("房产资源"); try{ String theLook=UIManager.getSystemLookAndFeelClassName();//更新界面 UIManager.setLookAndFeel(theLook); SwingUtilities.updateComponentTreeUI(this); } catch(Exception e){ System.err.println("异常:"+e); } initComponents(); setSize(625,464); Dimension screen=getToolkit().getScreenSize(); setLocation((screen.width-getSize().width)/2, (screen.height-getSize().height)/2); creatTree(); } /** 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. */ private void creatTree(){ char ch; String sql="select roomCode from roomInfo"; try{ db.setSql(sql); db.executeQuery(); rs=db.getRs(); while(rs.next()){ String roomCode1=rs.getString("roomCode"); ch=roomCode1.charAt(0); switch(ch){ case 'A':aRoot.add(new DefaultMutableTreeNode(roomCode1));break; case 'B':bRoot.add(new DefaultMutableTreeNode(roomCode1));break; case 'C':cRoot.add(new DefaultMutableTreeNode(roomCode1));break; } } } catch(Exception e){ System.out.println("异常:"+e); } } private void enabledTools(){ roomCode.setEditable(true);zone.setEditable(true); clientName.setEditable(true);floorNo.setEditable(true); roomNo.setEditable(true);roomKind.setEnabled(true); face.setEnabled(true);roomStructure.setEnabled(true); roomStatus.setEnabled(true);roomSize.setEditable(true); roomUseSize.setEditable(true);roomRemark.setEditable(true); } private void disabledTools(){ roomCode.setEditable(false);zone.setEditable(false); clientName.setEditable(false);floorNo.setEditable(false); roomNo.setEditable(false);roomKind.setEnabled(false); face.setEnabled(false);roomStructure.setEnabled(false); roomStatus.setEnabled(false);roomSize.setEditable(false); roomUseSize.setEditable(false);roomRemark.setEditable(false); } private void clearTools(){ //清空输入 roomCode.setText("");zone.setText(""); clientName.setText("");floorNo.setText(""); roomNo.setText("");roomKind.setSelectedIndex(0); face.setSelectedIndex(0);roomStructure.setSelectedIndex(0); roomStatus.setSelectedIndex(0);roomSize.setText(""); roomUseSize.setText("");roomRemark.setText(""); } private void insert(){ String sql1="insert into roomInfo values('"+roomCode.getText().trim()+"','"+ zone.getText().trim()+"','"+roomCode.getText().trim()+"','"+ floorNo.getText().trim()+"','"+roomNo.getText().trim()+"',"+ roomKind.getSelectedIndex()+","+face.getSelectedIndex()+","+ roomStructure.getSelectedIndex()+",'"+roomSize.getText().trim()+"','"+ roomUseSize.getText().trim()+"',"+roomStatus.getSelectedIndex()+",'"+ roomRemark.getText().trim()+"')";//插入房产信息 String sql2="insert into clientInfo(clientCode,clientName) values('"+roomCode.getText().trim()+"','"+ clientName.getText().trim()+"')";//插入业主信息 try{ db.setSql(sql1); db.executeUpdate(); db.setSql(sql2); db.executeUpdate(); } catch(Exception e){ System.out.println("查询房产信息异常:"+e); } } private void query(Object nodeObject){ DefaultMutableTreeNode node=(DefaultMutableTreeNode)nodeObject; if(node.isLeaf()){ String roomCode1=node.toString();//获得房间代码 String sql="select * from roomInfo,clientInfo where roomInfo.clientCode=clientInfo.clientCode And roomCode='"+roomCode1+"'";//查询房间信息 try{ db.setSql(sql); db.executeQuery(); rs=db.getRs(); if(rs.next()) { roomCode.setText(rs.getString("roomCode").trim());zone.setText(rs.getString("zone").trim()); clientName.setText(rs.getString("clientName").trim());floorNo.setText(rs.getString("floorNo").trim()); roomNo.setText(rs.getString("roomNo").trim());roomKind.setSelectedIndex(rs.getInt("roomKind")); face.setSelectedIndex(rs.getInt("face")); roomStructure.setSelectedIndex(rs.getInt("roomStructure")); roomStatus.setSelectedIndex(rs.getInt("roomStatus")); roomSize.setText(rs.getString("roomSize").trim()); roomUseSize.setText(rs.getString("roomUseSize").trim()); roomRemark.setText(rs.getString("roomRemark").trim()); } } catch(Exception e){ System.out.println("查询房产信息异常:"+e); } } } private void update(Object nodeObject){ DefaultMutableTreeNode node=(DefaultMutableTreeNode)nodeObject; if(node.isLeaf()){ String roomCode1=node.toString();//获得房间代码 try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动 Connection conn=DriverManager.getConnection("jdbc:odbc:wySystem","admin", "admin");//连接数据库 String sql1="update roomInfo set zone=?,floorNo=?,roomNo=?,roomKind=?,face=?,roomStructure=?,roomSize=?,roomUseSize=?,roomStatus=?,roomRemark=? where roomCode=?";//更新房产信息 String sql2="update clientInfo set clientName=? where clientCode=?";//更新用户信息 PreparedStatement pre=conn.prepareCall(sql1); PreparedStatement pre1=conn.prepareCall(sql2); pre.clearParameters(); pre.setString(1,zone.getText().trim()); pre.setString(2,floorNo.getText().trim()); pre.setString(3,roomNo.getText().trim()); pre.setInt(4,roomKind.getSelectedIndex()); pre.setInt(5,face.getSelectedIndex()); pre.setInt(6,roomStructure.getSelectedIndex()); pre.setString(7,roomSize.getText().trim()); pre.setString(8,roomUseSize.getText().trim()); pre.setInt(9,roomStatus.getSelectedIndex()); pre.setString(10,roomRemark.getText().trim()); pre.setString(11,roomCode.getText().trim()); pre1.clearParameters(); pre1.setString(1, clientName.getText().trim()); pre1.setString(2, roomCode.getText().trim()); int preFlag=0,pre1Flag=0; preFlag=pre.executeUpdate(); pre1Flag=pre1.executeUpdate(); if(preFlag==1&&pre1Flag==1){ JOptionPane.showMessageDialog(this,"更新房产信息成功","更新",JOptionPane.INFORMATION_MESSAGE); } } catch(Exception e){ JOptionPane.showMessageDialog(this,"更新房产信息失败","更新",JOptionPane.ERROR_MESSAGE); System.out.println("更新房产信息异常:"+e); } } } private void delete(Object nodeObject){ DefaultMutableTreeNode node=(DefaultMutableTreeNode)nodeObject; if(node.isLeaf()){ String roomCode1=node.toString();//获得房间代码 String sql1="delete from roomInfo where roomCode='"+roomCode1+"'";//删除房产信息 String sql2="delete from clientInfo where clientCode='"+roomCode1+"'";//删除业主信息 try{ db.setSql(sql1); db.executeUpdate(); db.setSql(sql2); db.executeUpdate(); } catch(Exception e){ System.out.println("删除信息异常:"+e); } } } public void removeCurrentNode() { TreePath currentSelection = jIndexTree.getSelectionPath(); if (currentSelection != null) { DefaultMutableTreeNode currentNode = (DefaultMutableTreeNode) (currentSelection.getLastPathComponent()); MutableTreeNode parent = (MutableTreeNode)(currentNode.getParent()); if (parent != null) { treeModel.removeNodeFromParent(currentNode); return; } } // Either there was no selection, or the root was selected. toolkit.beep(); } /** Add child to the currently selected node. */ public DefaultMutableTreeNode addObject(Object child) { DefaultMutableTreeNode parentNode = null; DefaultMutableTreeNode node = null; TreePath path = jIndexTree.getSelectionPath(); if (path == null) { parentNode = root; } else { node = (DefaultMutableTreeNode)(path.getLastPathComponent()); parentNode=(DefaultMutableTreeNode)node.getParent(); } return addObject(parentNode, child, true); } public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, Object child) { return addObject(parent, child, false); } public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, Object child, boolean shouldBeVisible) { DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child); if (parent == null) { parent = root; } treeModel.insertNodeInto(childNode, parent, parent.getChildCount()); //Make sure the user can see the lovely new node. if (shouldBeVisible) { jIndexTree.scrollPathToVisible(new TreePath(childNode.getPath())); } return childNode; } private boolean check(){ String roomCode1=roomCode.getText().trim(); String sql="select * from roomInfo where roomCode='"+roomCode1+"'"; if(roomCode1.equals("")){ JOptionPane.showMessageDialog(this,"房间代码不能为空","添加错误",JOptionPane.INFORMATION_MESSAGE); return false; } else{ try{ db.setSql(sql); db.executeQuery(); rs=db.getRs(); while(rs.next()){ if(rs.getString("roomCode").equals(roomCode1)){ JOptionPane.showMessageDialog(this,"房间代码不能重复","添加错误",JOptionPane.INFORMATION_MESSAGE); return false; } } } catch(Exception e){ System.out.println("检查异常:"+e); } } return true; } // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents private void initComponents() { jTreePanel = new javax.swing.JPanel(); jIndexPanel = new javax.swing.JPanel(); jScrollPaneIndex = new javax.swing.JScrollPane(); jIndexTree = new javax.swing.JTree(); jStatusPanel = new javax.swing.JPanel(); status = new javax.swing.JLabel(); jControlPanel = new javax.swing.JPanel(); operates = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); roomCode = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); zone = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); clientName = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); floorNo = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); roomNo = new javax.swing.JTextField(); jLabel6 = new javax.swing.JLabel(); roomKind = new javax.swing.JComboBox(); jLabel7 = new javax.swing.JLabel(); face = new javax.swing.JComboBox(); jLabel8 = new javax.swing.JLabel(); roomStructure = new javax.swing.JComboBox(); jLabel9 = new javax.swing.JLabel(); roomSize = new javax.swing.JTextField(); jLabel10 = new javax.swing.JLabel(); roomStatus = new javax.swing.JComboBox(); jLabel11 = new javax.swing.JLabel(); roomUseSize = new javax.swing.JTextField(); jLabel12 = new javax.swing.JLabel(); jLabel13 = new javax.swing.JLabel(); roomRemarkPanel = new javax.swing.JPanel(); remarkScrollPane = new javax.swing.JScrollPane(); roomRemark = new javax.swing.JTextArea(); buttons = new javax.swing.JPanel(); add = new javax.swing.JButton(); modify = new javax.swing.JButton(); save = new javax.swing.JButton(); delete = new javax.swing.JButton(); quit = new javax.swing.JButton(); dispose = new javax.swing.JButton(); getContentPane().setLayout(null); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setResizable(false); jTreePanel.setLayout(null); jTreePanel.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.RAISED)); jIndexPanel.setLayout(null); jIndexPanel.setBorder(new javax.swing.border.EtchedBorder()); jIndexTree.setAutoscrolls(true); root.add(aRoot); root.add(bRoot); root.add(cRoot); treeModel = new DefaultTreeModel(root); jIndexTree=new JTree(treeModel); treeModel.addTreeModelListener(new MyTreeModelListener()); jIndexTree.getSelectionModel().setSelectionMode (TreeSelectionModel.SINGLE_TREE_SELECTION); jIndexTree.setShowsRootHandles(true); jIndexTree.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() { public void valueChanged(javax.swing.event.TreeSelectionEvent evt) { jIndexTreeValueChanged(evt); } }); jScrollPaneIndex.setViewportView(jIndexTree); jIndexPanel.add(jScrollPaneIndex); jScrollPaneIndex.setBounds(0, 0, 170, 370); jTreePanel.add(jIndexPanel); jIndexPanel.setBounds(10, 10, 170, 370); jStatusPanel.setLayout(null); jStatusPanel.setBorder(new javax.swing.border.EtchedBorder()); jStatusPanel.add(status); status.setBounds(0, 0, 170, 30); jTreePanel.add(jStatusPanel); jStatusPanel.setBounds(10, 390, 170, 30); getContentPane().add(jTreePanel);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -