📄 addroompanel.java
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package com.redingsoft.setroomframe;import com.redingsoft.sql.SetSQL;import com.redingsoft.sunsdk.swing.OJButton;import com.redingsoft.sunsdk.swing.xtwh_table;import java.awt.*;import java.awt.event.*;import java.util.Vector;import javax.swing.*;import javax.swing.table.TableModel;/** * * @author Administrator */public class AddroomPanel extends JPanel implements ActionListener,FocusListener{ //声明标签又能给与显示输入提示信息 private JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8; //声明文本框用于用户输入 JTextField tf1,tf2,tf3,tf4,tf5,tf6,tf7,tf8; //声明2个单选按钮 JRadioButton rb1,rb2; //声明一个按钮组 ButtonGroup gb; //声明一个下拉列表框 JComboBox jcb; //声明面板 JPanel leftPanel,rigthPanel,bottPanel,mainPanel; //为每个文本框声明一个面板 JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7,jp8; // 声明一个滚动面板 JScrollPane sp; //声明一个表格用来显示输入信息 JTable tb; //声明按钮 JButton bt1,bt2,bt3,bt4; //声明一个2个向量来初始化表格 String[] col={"房间编号","类型编号","房间状态","房间位置","房间电话","房间备注","房间计时"}; String[][] row=new String[5][7]; //声明一个表数据模式 TableModel dataModel; private int count; //创建一个向量存储数据库语句 Vector v=new Vector(); String [] sqlcodes=new String[5]; //构造方法 AddroomPanel(){ //实例化标签 jl1=new JLabel("*房间编号"); jl2=new JLabel("*类型编号"); jl3=new JLabel("*房间状态"); jl4=new JLabel("*房间位置"); jl5=new JLabel("*房间电话"); jl6=new JLabel("房间备注"); jl7=new JLabel("*房间计时"); jl8=new JLabel("提示信息"); //初始化下拉列表 jcb=new JComboBox(); String sql="select id from roomtype where delmark=0"; SetSQL.initJComboBox(jcb, sql); //实例化文本框 tf1=new JTextField(10); //房间编号 // tf2=new JTextField(10); //房间类型编号 tf3=new JTextField(10); //房间位置 tf4=new JTextField(10); //房间电话 tf5=new JTextField(10); //房间备注 tf6=new JTextField(10); //房间计时 tf6.setEditable(false); //实例化单选按钮 rb1=new JRadioButton("可供"); //房间状态 rb2=new JRadioButton("不可供"); rb1.setSelected(true); //将按钮添加按钮组 gb=new ButtonGroup(); gb.add(rb1); gb.add(rb2); //实例化按钮 bt1=new OJButton("com/redingsoft/pic/add.gif","添加","临时将数据暂存在表格中",true); //田间房间到临时表格里 bt2=new OJButton("com/redingsoft/pic/save.gif","保存","将数据提交到数据库",true); //添加到数据库 bt3=new OJButton("com/redingsoft/pic/recall.gif","取消","取消添加操作",true); //退出此操作 //初始化表格和面板 sp=initTabel(); /////////////////////////////////////////////////// //实例化个面板 jp1=new JPanel(); //放置房间编号 jp2=new JPanel(); //放置房间类型 jp3=new JPanel(); //放置房间状态 jp4=new JPanel(); //房间位置 jp5=new JPanel(); //房间电话 jp6=new JPanel(); //房间备注 jp7=new JPanel(); //房间计时 jp8=new JPanel(); //提示信息放置区 /////////////////////////////////////////////// leftPanel=new JPanel(new FlowLayout(FlowLayout.CENTER,25,8)); //设置面板的初始大小 leftPanel.setAutoscrolls(true); leftPanel.setPreferredSize(new Dimension(200,210)) ; BorderLayout flow=new BorderLayout(); rigthPanel=new JPanel(); bottPanel=new JPanel(); // mainPanel=new JPanel(new BorderLayout()); //添加组件到面板 jp1.add(jl1); //房间编号 jp1.add(tf1); jp2.add(jl2); //类型编号 // jp2.add(tf2); jp2.add(jcb); jp3.add(jl3); jp3.add(rb1); //房间状态 jp3.add(rb2); jp4.add(jl4); //房间位置 jp4.add(tf3); jp5.add(jl5); //房间电话 jp5.add(tf4); jp6.add(jl6); //房间备注 jp6.add(tf5); jp7.add(jl7); //房间计时 jp7.add(tf6); jp8.add(jl8); //显示提示信息 //将房间信息组件添加到leftPane leftPanel.add(jp1); //房间编号 leftPanel.add(jp2); //类型编号 leftPanel.add(jp3); //房间状态 leftPanel.add(jp4); //房间位置 leftPanel.add(jp5); //房间电话 leftPanel.add(jp6); //房间备注 leftPanel.add(jp7); //房间计时 leftPanel.add(jp8); //提示信息 //设置jp8 jp8.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.RED, 1), "提示信息")); jp8.setPreferredSize(new Dimension(190,70)); //设置左面板边框 leftPanel.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 5)); leftPanel.setBorder(BorderFactory.createTitledBorder("房间信息添加")); //将滚动面板添加到rightPanel rigthPanel.add(sp); //设置有面板边框 rigthPanel.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 5)); rigthPanel.setBorder(BorderFactory.createTitledBorder("房间信息")); rigthPanel.setSize(100, 50); //将按钮添加到bottPanel bottPanel.add(bt1); //添加 bottPanel.add(bt2); //保存 bottPanel.add(bt3); //删除 //添加侦听 AddListener(); //社会按钮禁用 bt1.setEnabled(false); bt2.setEnabled(false); bottPanel.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1)); this.setLayout(flow); this.add(leftPanel,BorderLayout.EAST); //添加主面板到 this.add(rigthPanel,BorderLayout.WEST); this.add( bottPanel,BorderLayout.SOUTH); // this.setSize(600, 500); //设置tf1获得焦点 tf1.requestFocusInWindow(); } //添加侦听 private void AddListener(){ tf1.addFocusListener(this); //房间编号 tf3.addFocusListener(this); tf4.addFocusListener(this); tf5.addFocusListener(this); tf6.addFocusListener(this); bt1.addActionListener(this); //添加 bt2.addActionListener(this); //保存 bt3.addActionListener(this); //退出 } //初始化表格/* * 函数名:public JScrollPane initTabel() * 参数:null * 返回值:void * 功能:制作并初始化表格 ***********************************/public JScrollPane initTabel(){ //实例化表格并让表格不可编辑 TableModel datamodel=new xtwh_table(row,col); tb=new JTable(); //设置表模型 tb.setModel(datamodel); tb.setRowHeight(20); tb.setPreferredSize(new Dimension(360,360)); // 实例化滚动条 sp=new JScrollPane(tb); //设置滚动面板初始大小 sp.setPreferredSize(new Dimension(360,360)); //添加表格到centerPnae //################################################################ return sp;}//实现侦听 public void actionPerformed(ActionEvent e) { //获得按钮的名称 Object o=e.getSource(); String id=tf1.getText().trim(); //房间编号值 String type=(String) jcb.getSelectedItem(); //房间类型 String state=null; //房间状态 if(rb1.isSelected()==true){ state=rb1.getText(); }else{ state=rb2.getText(); } String location=tf3.getText().trim(); //房间位置 String tel=tf4.getText().trim(); //房间电话 String remark=tf5.getText().trim(); //房间备注 String statetime=tf6.getText().trim(); //房间计时 if(o==bt1){ //添加 insertData(id,type,state,location,tel,remark,statetime); String sqlcode="insert into roominfo(id,r_type_id,state,location,r_tel,remark,statetime) values" +"('"+id+"','"+type+"','"+state+"','"+location+"','"+tel+"','"+remark+"','"+statetime+"')"; v.addElement(sqlcode); count++; }//end if(o==bt1) if(o==bt2){ //保存 if(v.isEmpty()){ JOptionPane.showMessageDialog(null, "请添加数据后在保存", "提示", JOptionPane.WARNING_MESSAGE); }else{ v.copyInto(sqlcodes); int flag=SetSQL.runTransaction(sqlcodes, count); if(v.size()>flag){ JOptionPane.showMessageDialog(null, "房间信息田间失败请与网络管理员联系", "提示", JOptionPane.WARNING_MESSAGE); }else{ jl8.setText("房间信息添加"+flag+"间成功"); //重置组件按钮 v.removeAllElements(); //一处向量的中所有组件并将其大小设为0 bt1.setEnabled(true); tf1.setText(""); tf3.setText(""); tf4.setText(""); tf5.setText(""); tf6.setText(" "); count=0; }//end if(v.size()>flag) } //end if(v.isEmpty) }//en if(o==bt2) if(o==bt3){ //取消 for(int i=0; i<sqlcodes.length;i++){ for(int j=0;j<=6;j++) { tb.setValueAt("", i, j); } } v.removeAllElements(); //一处向量的中所有组件并将其大小设为0 count=0; //将表格索引位置归零 } } public void focusGained(FocusEvent e) { Object o=e.getSource(); if(o==tf1){ jl8.setForeground(Color.BLUE); jl8.setFont(new Font("宋体",Font.BOLD,15)); jl8.setText("带*号的不可以为空"); } if(o==tf6){ jl8.setText("请输入数值"); } } public void focusLost(FocusEvent e) { Object o=e.getSource(); if(o==tf1){ if(tf1.getText().equals("")){ bt1.setEnabled(false); bt2.setEnabled(false); } }//end if(o==tf1) if(o==tf3){ if(tf3.getText().equals("")){ } }if(o==tf4){ //房间电话 if(tf4.getText().equals("")){ bt1.setEnabled(false); bt2.setEnabled(false); }else{ bt1.setEnabled(true); bt2.setEnabled(true); } }if(o==tf6){ } } //向表中添加数据 /* * 函数名:private void insertData(String id,String type,String state,String location ,String tel,String remark String statetime) * 参数: id 房间编号 type 房间类型 state房间状态 location 房间位置 tel 房间电话 remark 房间备注 statetime 状态计时 * 返回值:void * 功能:向表格中插入数据 */private void insertData(String id,String type,String state,String location ,String tel,String remark, String statetime){ if(count==5){ bt1.setEnabled(false); JOptionPane.showMessageDialog(this, "一次最多可添加5个房间", "提示", JOptionPane.WARNING_MESSAGE); }else{ tb.setValueAt(id, count, 0); tb.setValueAt(type, count, 1); tb.setValueAt(state, count, 2); tb.setValueAt(location, count, 3); tb.setValueAt(tel,count, 4); tb.setValueAt(remark,count, 5); tb.setValueAt(statetime, count, 6); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -