2016-09-22 8 views
0

Я создаю систему проверки подлинности на основе swing, и у меня есть таблица, где я хочу напечатать некоторые необходимые данные и хочу, чтобы последний столбец имел флажок. Даже после того, как дать логическое значение, которое он печатает истинным или ложным, а не флажкомJCheckbox внутри jTable

   controlPanel.removeAll(); 
       System.out.println("coming1"); 
       JournalApprovalClass JAC = new JournalApprovalClass(); 
       JournalApproval JA = new JournalApproval(); 

       String[] columns = { "Author1", "Author2", "Author3", 
         "Author4", "Author5", "Author6", "Title", 
         "JournalName", "Scopus", "ImpactFactor", 
         "JournalMonth", "JournalYear", "NamePublisher", 
         "VolumeIssuePageNo", "BtechMtech", "OtherDetails", 
         "Approval" }; 
       System.out.println("coming2"); 

       try { 
        JA.adminApprovalJournalApproval(); 
       } catch (ClassNotFoundException e1) { 
        // TODO Auto-generated catch block 
        e1.printStackTrace(); 
       } catch (SQLException e1) { 
        // TODO Auto-generated catch block 
        e1.printStackTrace(); 
       } 
       System.out.println("coming3"); 
       DefaultTableModel model = new DefaultTableModel(
         journalTable.values2, columns); 
       JTable journalAdminApprovalTable = new JTable(model); 

       journalAdminApprovalTable 
         .setPreferredScrollableViewportSize(new Dimension(
           1200, 100)); 
       journalAdminApprovalTable.setFillsViewportHeight(true); 
       TableColumn column = null; 
       for (int i = 0; i <= 16; i++) { 
        column = journalAdminApprovalTable.getColumnModel() 
          .getColumn(i); 
        column.setPreferredWidth(50); 
        if (i == 16) { 
         column.setPreferredWidth(10); 
        } 

       } 
       System.out.println("coming4"); 
       JScrollPane scrollPane = new JScrollPane(
         journalAdminApprovalTable); 
       controlPanel.add(scrollPane); 
       controlPanel.revalidate(); 
       controlPanel.repaint(); 
       System.out.println("coming5"); 

Это то, где я пытаюсь создать, чтобы создать таблицу объект данных создается в другом классе

   ma.values[0] = au.Author1; 
       ma.values[1] = au.Author2; 
       ma.values[2] = au.Author3; 
       ma.values[3] = au.Author4; 
       ma.values[4] = au.Author5; 
       ma.values[5] = au.Author6; 
       ma.values[6] = au.Title; 
       ma.values[7] = au.JournalName; 
       ma.values[8] = au.Scopus; 
       ma.values[9] = au.ImpactFactor; 
       ma.values[10] = au.JournalMonth; 
       ma.values[11] = au.JournalYear; 
       ma.values[12] = au.NamePublisher; 
       ma.values[13] = au.VolumeIssuePageNo; 
       ma.values[14] = au.BtechMtech; 
       ma.values[15] = au.OtherDetails; 
       ma.values[16] = new Boolean(true); 
       /*if (au.AdminApproval == "NO") { 
        ma.values[16] = new JCheckBox("Approval"); 
       } else 
        ma.values[16] = new Boolean(true);*/ 
       ma.values1[i] = new Object[17]; 
       ma.values1[i] = ma.values; 

       System.out.println(ma.values1[i] + " " + ma.values[0] + " " 
         + i); 
       i++; 
      } 
      resultSet.next(); 
     } 
     journalTable.values2 = new Object[i][]; 
     for (int j = 0; j < i; j++) 
      journalTable.values2[j] = journalTable.values1[j]; 
     return; 

Все работает правильно, но то, что я хочу, это иметь флажок, который всегда проверяется (причина, по которой дается истина). , когда я запускаю код я получаю следующие выходные данные

last column i need a checkbox

ответ

0

Это потому, что ваша модель работает на строки, а не объект. Я не в состоянии запустить свой код, но если бы я тебя, я бы были:

  1. Попробуйте изменить String[] columns к Object[] columns.
  2. Если не помогает, посмотрите на this
+0

спасибо много. я посмотрю на это и дам знать –

+0

даже в ссылке, которую вы указали в столбцах []. можете ли вы предложить любые другие изменения? –

 Смежные вопросы

  • Нет связанных вопросов^_^