//初始化窗體
private void init(String name) {
this.setExtendedState(MAXIMIZED_BOTH); //設置窗體最大化
this.setLocation(0,0); //設置窗體加載的初始位置
this.setResizable(false); //禁用窗體最大化按鈕
this.jTextField1.requestFocus(); //設置文本框獲焦
this.jTextField8.setEditable(false); //設置文本框是否可用
//設置窗體居中顯示-------------------------------------------------------------------------------Start
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((screenSize.width - this.getWidth())/2, (screenSize.height - this.getHeight())/2 - 90);
//------------------------------------------------------------------------------------------------End
//設置窗體左上角圖標(MyEclipse)----------------------------------------------------------------Start
窗體實例.setIconImage(new ImageIcon("img/tel.jpg").getImage());
//-------------------------------------------------------------------------------------------------End
// 設置面板的邊框(TitledBorder)-----------------------------------------------------------------Start
pnlSearch.setBorder(BorderFactory.createTitledBorder(null, "查詢條件", TitledBorder.LEADING, TitledBorder.TOP, new java.awt.Font("宋體",0,14), new java.awt.Color(0,0,0)));
//--------------------------------------------------------------------------------------------------End
}
private void initTable() { //初始化Jtable
//用DefaultTableCellRenderer設置表中的信息居中顯示(MyEclipse)————————————Start
DefaultTableCellRenderer render = (DefaultTableCellRenderer)this.table.getTableHeader().getDefaultRenderer();
render.setHorizontalAlignment(SwingConstants.CENTER); //表頭數據居中顯示
render = new DefaultTableCellRenderer();
render.setHorizontalAlignment(SwingConstants.CENTER); //表中信息居中顯示
this.table.setDefaultRenderer(Object.class, render);
//———————————————————————————————————————————End
//設置列寬———————————————————————————————————————Start
for(int i=0; i<9; i++){
this.jTable1.getColumnModel().getColumn(i).setMaxWidth(100);
this.jTable1.getColumnModel().getColumn(i).setMinWidth(100);
}
this.jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
//———————————————————————————————————————————End
//隱藏表中的某列————————————————————————————————————Start
/**
* 隱藏表的指定列,該方法只是將指定列的列寬設定爲0,不影響取隱藏列的value和排序等操作
* @param columnIndex 列索引
*/
private void hiddenColumn(int columnIndex){
TableColumn tc = this.jTable1.getColumnModel().getColumn(columnIndex);
TableColumn tch = this.jTable1.getTableHeader().getColumnModel().getColumn(columnIndex);
tc.setWidth(0);
tc.setMinWidth(0);
tc.setMaxWidth(0);
tch.setWidth(0);
tch.setMinWidth(0);
tch.setMaxWidth(0);
}
//———————————————————————————————————————————End
DefaultTableModel model = new DefaultTableModel(getData("%"),getColName("辦理油卡")); //實例化Jtable模型
TableModel model = (TableModel)this.jTable1.getModel(); //獲取JTable模型
model.setRowCount(15); //設置model行數
this.jTable1.setModel(model); //設置Jtable模型
this.jTable1.setRowHeight(25); //設置Jtable行高
this.jTable1.setEnabled(false); //設置Jtable是否禁用
this.jTable1.getTableHeader().setFont(new java.awt.Font("宋體",1,18)); //設置表頭字體
this.jTable1.getTableHeader().setReorderingAllowed(false); //設置表頭不能重新排序
this.jTable1.getTableHeader().setResizingAllowed(false); //設置表頭不能調整大小
this.jTable1.setRowSelectionInterval(0, 0); //讓Jable默認選中第一行
this.jTable1.requestFocus(); //讓Jtable獲取焦點
this.jTable1.setColumnSelectionAllowed(false); //設置只能選行,不能選列
this.jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //設置只選單行
//this.jTable1.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //設置只能選擇單行
//添加選中行事件
this.jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
if(!e.getValueIsAdjusting()) { //當選中的值發生變化的時候,才執行下面代碼
int row = jTable1.getSelectedRow();
if(row >= 0) {
jTextField1.setText((String)jTable1.getValueAt(row, 0));
jTextField3.setText((String)jTable1.getValueAt(row, 1));
jTextField2.setText((String)jTable1.getValueAt(row, 2));
if(((String)jTable1.getValueAt(row, 3)).replaceAll(" ", "").equals("男")){
jComboBox1.setSelectedIndex(1);
}else if(((String)jTable1.getValueAt(row, 3)).replaceAll(" ", "").equals("女")){
jComboBox1.setSelectedIndex(2);
}
}
}
}
});
}
//得到Jtable中的每行信息
private Vector getData(String cid) {
Vector vectorData = new Vector();
Vector vector = null;
if(cid.equals("%")) {
List list1 = search.SearchCardAndTaxi(cid);
if(list1.size() > 0) {
for(int i=0; i<list1.size(); i++){
if(i % 2 == 0){
vector = new Vector();
vector.addElement((Taxi)list1.get(i).getTid());
} else if(i % 2 == 1){
vector.addElement( (Card)list1.get(i).getCid());
vectorData.add(vector);
}
}
}
} else if(cid.equals("%%")) {
List list2 = search.SearchCZXL(cid.substring(0,1));
if(list2.size() > 0) {
for(int i=0; i<list2.size(); i++){
vector = new Vector();
vector.addElement((Czxf)list2.get(i).getCid());
vectorData.add(vector);
}
}
}
return vectorData;
}
//得到Jtable中的列標題
private Vector getColName(String flag){
Vector vectorColName = new Vector();
if(flag.equals("辦理油卡")){
vectorColName.addElement("初始儲值");
vectorColName.addElement("油卡狀態");
} else if(flag.equals("查詢信息")){
vectorColName.addElement("消費金額");
}
return vectorColName;
}