設置J2SE控件

//初始化窗體
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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章