Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13
  1. #11
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    28
    Tranquillo... Si è sui forum per aiutarsi...
    Comunque, una volta che hai scritto il codice che ho postato prima, se vuoi evidenziare di rosso la prima riga allora scriverai:

    codice:
    redColoring[0] = true;
    Per togliere l'highlight:

    codice:
    redColoring[0] = false;

  2. #12
    Allora, di seguito il codice delle due classi che uso. Il programma fa precisamente quallo che voglio cioè:
    1) ad una certa condizione inmposta dalla cambobox popola la prima riga e la colora
    2) passa alla seconda riga con un controllo sulla cella (se la celle "null" count++), la popola e la colora e così via.

    Il problema: il renderer da quello che ho capito, una volta impostato diventa da quel momento in poi l'impostazione per tutta la tabella. Infatti se creo un evento qualsiai, per esempio un click su una qualsiasi cella vuota, la stessa si colora!
    Ho usato il metodo giusto? Che controllo va inserito nella riga nel render?

    //Chi può aiutarmi??

    import java.awt.Color;
    import javax.swing.JComboBox;
    import javax.swing.JTable;
    import javax.swing.table.TableColumn;

    public class Table extends javax.swing.JFrame {

    public Table() {
    initComponents();
    }

    @SuppressWarnings("unchecked")
    private void initComponents() {

    combo1 = new javax.swing.JComboBox();
    jButton1 = new javax.swing.JButton();
    jScrollPane1 = new javax.swing.JScrollPane();
    table1 = new javax.swing.JTable();

    setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE);

    combo1.setModel(new javax.swing.DefaultComboBoxModel(new String[]{"Item 1", "Item 2", "Item 3", "Item 4"}));

    jButton1.setText("Button");
    jButton1.addActionListener(new java.awt.event.ActionListener() {

    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton1ActionPerformed(evt);
    }
    });

    table1.setModel(new javax.swing.table.DefaultTableModel(
    new Object[][]{
    {null, null, null, null},
    {null, null, null, null},
    {null, null, null, null},
    {null, null, null, null}
    },
    new String[]{
    "Title 1", "Title 2", "Title 3", "Title 4"
    }));
    jScrollPane1.setViewportView(table1);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING).addGroup(layout.createSequenti alGroup().addGap(22, 22, 22).addGroup(layout.createParallelGroup(javax.swin g.GroupLayout.Alignment.LEADING).addComponent(comb o1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addCompone nt(jButton1).addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)).addContai nerGap(77, Short.MAX_VALUE)));
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING).addGroup(layout.createSequenti alGroup().addGap(19, 19, 19).addComponent(combo1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(41, 41, 41).addComponent(jButton1).addGap(71, 71, 71).addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE).addContain erGap(31, Short.MAX_VALUE)));

    pack();
    }

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

    String string1 = (String) combo1.getSelectedItem();
    TableColumn tcol;
    int index = 0;
    if (string1.equals("Item 1")) {
    for (int i = 0; i < table1.getRowCount(); i++) {
    if (table1.getValueAt(i, 0) == null) {
    index = i;

    break;
    }
    }
    int B = 5;

    int index1 = 0;

    for (int i = 0; i < B; i++) {
    tcol = table1.getColumnModel().getColumn(index1);
    tcol.setCellRenderer(new CustomTableCellRenderer(Color.RED));
    index1 = i;
    }

    table1.setValueAt("pippo1", index, 0);
    table1.setValueAt("pippo1" + "/" + "pippo2", index, 1);
    table1.setValueAt("pippo1" + "-" + "pippo2", index, 2);
    }
    table1.repaint();

    }
    public static void main(String args[]) {


    new Table().setVisible(true);

    }
    // Variables declaration - do not modify
    private javax.swing.JComboBox combo1;
    private javax.swing.JButton jButton1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable table1;
    // End of variables declaration

    public JComboBox getCombo1() {
    return combo1;
    }

    public void setCombo1(JComboBox combo1) {
    this.combo1 = combo1;
    }

    public JTable getTable1() {
    return table1;
    }

    public void setTable1(JTable table1) {
    this.table1 = table1;
    }
    }


    //Classe renderer

    import com.sun.org.apache.regexp.internal.REDebugCompiler ;
    import java.awt.Color;
    import java.awt.Component;
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.TableColumn;


    public class CustomTableCellRenderer extends DefaultTableCellRenderer {
    private Color color;
    public CustomTableCellRenderer(Color color) {
    super();
    this.color = color;
    }


    public Component getTableCellRendererComponent(JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
    Component cell = super.getTableCellRendererComponent(table, obj, isSelected, hasFocus, row, column);

    if(table.getValueAt(row, column)==null){
    cell.setBackground(null);

    } else if(table.getValueAt(row, column)!=null){

    cell.setBackground(color);
    }

    return cell ;
    }
    }

  3. #13
    Scusate sono nuovo e non capisco come si inseriscono i TAG al codice.

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.