So ändern Sie die Farbe einer JTable ganze Zeile mit einer bestimmten Spalte Wert

Ich habe eine Jtable, die bekommt aus einem array gefüllt mit Werten.
Mein code ist wie folgt:

  private static final String[] columnNames = {"Line Number", "Error","Fix Proposed","Percentage (%)"};
  static DefaultTableModel model = new DefaultTableModel(null,columnNames);

  public static void DisplayMyJList(List<CaptureErrors> x,String extension,
        ArrayList<Integer> l,ArrayList<Integer> p,
        ArrayList<String> e,ArrayList<String> s) throws IOException {//Method to Dynamic get values to be populated in Jtable.

    String theExtension = extension;
    if(FILE_EXTENSION.equals("java")) {
        for(CaptureErrors ex: x) {

            Vector row = new Vector();
            row.add(ex.getLinenumber());
            row.add(ex.getMyfounderror());
            row.add(ex.getMycorrection());
            row.add(ex.getMyPercentage()+"%");

            model.addRow( row );

            //model.setRowColour(1, Color.YELLOW);
        }
    }

table = new JTable(model);
    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    
    table.setFillsViewportHeight(true);
    table.setShowGrid(true);
    table.setShowVerticalLines(true);
    table.setGridColor(new Color(0,128,0));
    JTableHeader header = table.getTableHeader();
    table.setBackground(new Color(255,228,225));
    table.setEnabled(true);
    header.setFont(new Font("Dialog", Font.CENTER_BASELINE, 12));
    header.setBackground(Color.black);
    header.setForeground(Color.yellow);
    JScrollPane pane4 = new JScrollPane(table); 

Kann ich füllen der Jtable, die in einem array von Werten Mit einem JButton. Möchte ich eine Bedingung haben, wo, wenn Spalte "Anteil" ,bekommen alle Werte in dieser Spalte >30, unterstreicht die Zeilen in Farbe.red.

Ich nicht wollen, um Benutzer TableCellRendererComponent .Ich möchte diese Aktion mit Klick auf den Jbutton.

Den tatsächlichen Jtable sieht wie folgt aus:
So ändern Sie die Farbe einer JTable ganze Zeile mit einer bestimmten Spalte Wert

Dann nach, was ich will zu bekommen, die ersten 2 Zeilen werden in rot hervorgehoben. Jede Hilfe zu schätzen.

Ihre Tabelle ist die Behandlung aller Daten wie ein string. Sollten Sie wirklich überschreiben werden die getColumnClass() Methode zum zurückgeben der richtigen Klasse, so kann jede Spalte korrekt formatiert sein.

InformationsquelleAutor Ms_Joe | 2013-03-25

Schreibe einen Kommentar