📄 righttoppanel.java
字号:
package com.redingsoft.mainframe;
import com.redingsoft.sql.SetSQL;
import com.redingsoft.sunsdk.swing.OJButton;
import com.redingsoft.sunsdk.swing.xtwh_table;
import com.test.Counter;
import java.awt.*;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class RightTopPanel extends JPanel implements ActionListener{
//提示标签
JLabel jl1;
// 声明面ban
JPanel jp1,jp2,mainpane;
//生命滚动面板
JScrollPane sp1,sp2;
//声明表格
JTable tb1,tb2;
//声明表模式
DefaultTableModel dftm1,dftm2;
//声明按按钮
JButton bt1,bt2;
//初始化表格数组
String[] col={"房间编号","类型编号","房间状态","房间位置","房间电话","房间备注"};
String[][] row= new String [30][5];
//构造函数
public RightTopPanel(){
//实例化标签
jl1=new JLabel("提示:单击表格某一行,可看到选择房间的详细信息!");
jl1.setForeground(Color.BLUE);
//实例化面板
jp1=new JPanel();
jp2=new JPanel(new FlowLayout(FlowLayout.TRAILING,5,0));
mainpane=new JPanel(new BorderLayout());
//实例化按钮
bt1=new OJButton("com/redingsoft/pic/refurbish.gif","刷新","显示最新信息",true);
bt2=new OJButton("com/redingsoft/pic/u04.gif","计算器","及时计算",true);
// bt1.setContentAreaFilled(true);
// bt2.setContentAreaFilled(true);
//实例化表格
tb1=new JTable();
dftm1=new xtwh_table(row,col);
//设置表模式
String sql="select id 房间编号 ,r_type_id 类型编号,state 房间状态,location 房间位置,r_tel 房间电话,remark 备注 from roominfo";
initTabel(sql);
dftm1.setRowCount(30);
tb1.setModel(dftm1);
tb1.setBackground(Color.WHITE);
tb1.setShowVerticalLines(false);
tb1.setPreferredScrollableViewportSize(new Dimension(680,500));
tb1.setGridColor(Color.YELLOW);
tb1.setRowHeight(20);
//实例化滚动面ban
sp1=new JScrollPane(tb1);
//设置滚动面板的大小
sp1.setPreferredSize(new Dimension(680,400));
//添加到面板
jp1.add(sp1);
jp2.add(jl1);
jp2.add(bt1);
jp2.add(bt2);
//设置个面板的大小
jp1.setPreferredSize(new Dimension(690,450));
jp2.setPreferredSize(new Dimension(690,35));
//设置边框线
jp1.setBorder(BorderFactory.createRaisedBevelBorder());
jp2.setBorder(BorderFactory.createRaisedBevelBorder());
jp1.setBorder(BorderFactory.createTitledBorder(jp1.getBorder(), "房间信息"));
// jp2.setBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.GRAY));
//添加到主面板
mainpane.add(BorderLayout.NORTH,jp2);
mainpane.add(BorderLayout.SOUTH,jp1);
// sp1.setBackground(Color.YELLOW);
// jp2.setBackground(Color.GRAY);
//jp1.setBackground(Color.YELLOW);
//侦听
bt1.addActionListener(this);
bt2.addActionListener(this);
AddTableListener(tb1);
this.add(mainpane);
// this.setBackground(Color.YELLOW);
}
//初始化表格
/*
* 函数名:public void initTabel()
* 参数:null
* 返回值:void
* 功能:制作并初始化表格
***********************************/
public void initTabel(String sql){
//设置表格的模式
//初始化表表模式
SetSQL.initDTM(dftm1,sql);
if(dftm1.getRowCount()!=0){
// String rows[]=new String[30];
dftm1.setRowCount(30);
tb1.setModel(dftm1);
// tb=new JTable();
}else{
WarnMsg("提示","还没有房间信息请添加。");
}
}
/*******************************************************
* 函数名称:WarnMsgPane(String title ,String msg ,component null)
* 参数:tile 提示标题 msg 提示消息 显示他的父组件
* 功能:为错误的输入和连接错误做出提示
************************************************************/
public static void WarnMsg(String title,String msg){
JOptionPane.showMessageDialog(null,msg,title,JOptionPane.WARNING_MESSAGE);
}
public void actionPerformed(ActionEvent e) {
//// throw new UnsupportedOperationException("Not supported yet.");
Object o=e.getSource();
if(o==bt1){
String sql="select id 房间编号 ,r_type_id 类型编号,state 房间状态,location 房间位置,r_tel 房间电话,remark 备注 from roominfo";
initTabel(sql);
}if(o==bt2){
Counter computer= new Counter();
computer.setVisible(true);
}
}
// /添加件表格侦听
public void AddTableListener(final JTable tb1){
tb1.addMouseListener(new java.awt.event.MouseAdapter(){
@Override
public void mouseClicked(java.awt.event.MouseEvent e){
if(e.getModifiers()==InputEvent.BUTTON1_MASK){
try{
int selected=tb1.getSelectedRow();
getdate(selected);
}catch(Exception ex){
JOptionPane.showMessageDialog(null, "你还没有添加房间信息!");
}
}
}
});
}
//获得表格里面的数据
public void getdate(int index){
String id=(String) tb1.getValueAt(index, 0);
// System.out.print(id);
String[] date=new String[5];
ResultSet rs=null;
if(id==null){
JOptionPane.showMessageDialog(null, "<html><body bgcolor=red><font size=3>没有选择数据!</font></body></html>");
}else{
try {
String sql="select c_name,in_time,days,account,foregift from inlive where r_no='"+id+"'";
rs=SetSQL.executeQuery(sql);
if(rs.next()!=true){
JOptionPane.showMessageDialog(null, "<html><body bgcolor=red><font size=3>此房无客人!</font></body></html>");
LeftTopPanel.xjl11.setText("***");
LeftTopPanel.xjl12.setText(" ***");
LeftTopPanel.xjl13.setText("***");
LeftTopPanel. xjl14.setText("***");
LeftTopPanel.xjl15.setText("****");
}else{
rs.beforeFirst();
while (rs.next()) {
date[0]=(rs.getString("c_name"));
date[1]=(rs.getString("in_time"));
date[2]=(rs.getString("days")); //入住天数
date[3]=(rs.getString("account"));
date[4]=(rs.getString("foregift"));
} //en while()
// System.out.print("dsdfgdfg"+date[0]);
System.out.print(date[1]);
LeftTopPanel.xjl11.setText((String) date[0]);
LeftTopPanel.xjl12.setText((String) date[1]);
LeftTopPanel.xjl13.setText((String) date[2]);
LeftTopPanel.xjl14.setText((String) date[3]);
LeftTopPanel.xjl15.setText((String) date[4]);
}
}catch(Exception e){
e.printStackTrace();
} //end try catch(Exception e)
} //end if(id==null)
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -