Không hiện JCombox Trong JTable

java

(Đặng Huỳnh Anh) #1

Em đang học phần java swing, và tới phần thêm 1 JComboBox vào JTable và chỉ hiện khi click chuột vào. Dạ vậy để làm sao để khi chương trình được chạy thì JComboBox tự hiện ra mà không cần click vào. Em xin cảm ơn ạ!

private void getDepartment() {
    String fileName = "Department.txt";
    String errFile = "File not found!\n Exit Program!";
    JComboBox addDepartment = new JComboBox();
    try {
        FileReader file = new FileReader(fileName);
        BufferedReader  readFile = new BufferedReader(file);
        int i = 0;
        while (readFile.ready()) {                
            i += 1;
            String data = readFile.readLine();
            if(data != null) {
                addDepartment.addItem(data);
            }
        }
        readFile.close();
        file.close();
        
    } catch (Exception e) {
        JOptionPane.showMessageDialog(this, errFile);
        System.exit(0);
    }
    DefaultCellEditor department = new DefaultCellEditor(addDepartment);
    tblData.getColumnModel().getColumn(2).setCellEditor(department);
}

private void setColumn() {
    column.add("EmpID");
    column.add("Name");
    column.add("Department");
}

private void setModel() {
    DefaultTableModel model = new DefaultTableModel(row,column);
    tblData.setModel(model);
}



(Nguyễn Đình Anh) #2

Code của bạn đâu ???


(Đặng Huỳnh Anh) #3

dạ em đã thêm code vào ạ


(Nguyễn Đình Anh) #4

Tức là bạn muốn khi mở chương trình lên thì sẽ hiện JComboBox luôn đúng không ?? Vậy thì bạn cho nó vào hàm main thôi.


(Đặng Huỳnh Anh) #5

dạ đúng rồi. Ở bài trên khi em ấn vào Add New Button thì sẽ tạo 1 row mới và ở column(3) combox phải hiện ra thay vì mình phải ấn vào ấy ạ.

private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {                                       
    Vector newData = new Vector();
    row.add(newData);
    this.setModel();
    this.getDepartment();   
}

(Nguyễn Đình Anh) #6

Thì đó, bạn cho đoạn code đó và void main thôi.


(Đặng Huỳnh Anh) #7

Mỗi lần nhấn vào Add New Button là một lần tạo lại JCombox tại row mới nhất và ở column(2) . Chứ em thấy có liên quan gì ở void main đâu ạ?


(Nguyễn Đình Anh) #8

Tức là bạn muốn khi nhấn vào Add New thì nó sẽ tạo ra 1 row mới, xong cái jComboBox sẽ xổ ra hết các item luôn chứ không phải nhấn vào mới hiện đúng không ??


(Đặng Huỳnh Anh) #9

Dạ đúng hoặc có thể đơn giản hơn là mình có thể setSelected cho jcombox đó được không ạ?


(Nguyễn Đình Anh) #10

Hình như trong jComboBox có void setVisible thì phải, bạn thử dùng nó xem.


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?