如何在NetBeans JFrame中从导入的jTable的第一行设置jComboBox项

时间:2017-10-25 05:58:04

标签: java jtable jcombobox

民谣。

我不知道如何完成这个非常简单的任务。 我需要从按钮操作JComboBox导入的第一行(列标题?)中获取JTable个项目名称。所有这些元素都在JFrame

我试过了:

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { 
    Object obj = jTable1.getValueAt(jTable1.getSelectedRow(), 1);
    jComboBox1.setSelectedItem(obj);
}

还有很多方法,也无法解决问题。 请帮助!

该附加部分:

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    JFileChooser tableInsert = new JFileChooser(); // вроде как создает файлчузер
    tableInsert.setDialogTitle("Выберите файл");  // подпись окна выбора файла
    int result = tableInsert.showDialog(null, "Открыть файл"); // открывает окно браузера
    if (result == JFileChooser.APPROVE_OPTION) {
        String getValue = jTextField1.getText();
        String path = tableInsert.getSelectedFile().getAbsolutePath();
        try {
           BufferedReader br = new BufferedReader(new FileReader(path));
           String firstLine = br.readLine().trim();
           String[] columnsName = firstLine.split(getValue);
           DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
           model.setColumnIdentifiers(columnsName);
           // взять строки из файла
           Object[] tableLines = br.lines().toArray();
            // взять данные из файла и настроить JTable
            for (Object tableLine : tableLines) {
                String line = tableLine.toString().trim();
                String[] dataRow = line.split(getValue);
                model.addRow(dataRow);
            }

          } catch (IOException ex) {
           Logger.getLogger(soft.class.getName()).log(Level.SEVERE, null, ex);
        }


    }

}                                        

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            

}                                           

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
    int row=jTable1.getSelectedRow();
jComboBox1.setSelectedItem(jTable1.getModel().getValueAt(row, 0).toString());

}                                          

0 个答案:

没有答案