Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12

Hybrid View

  1. #1
    Qui il mio ButtonRenderer, ho omesso qualche riga ma non credo sia importante

    codice:
    public class ButtonRenderer extends JButton implements TableCellRenderer {
     
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	private boolean[] disp;
    	private boolean[] penal;
    	private String tipo;
    	private int typeButton;
    	
    	public ButtonRenderer(TableFrame _frame, String tipo, int typeButton) {
        		setOpaque(true);
        		disp=_frame.disputata;
        		this.tipo=tipo;
        		this.typeButton=typeButton;
        		penal=_frame.getPenalized();
      	}
      
    	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {	
    		if (isSelected) {
          			setForeground(table.getSelectionForeground());
          			setBackground(table.getSelectionBackground());
        		} 
        		else{
          			setForeground(table.getForeground());
          			setBackground(UIManager.getColor("Button.background"));
        		}
    		
    		boolean editable = table.isCellEditable(row, column);
    		setEnabled(editable);
    		...
    		...
    		...
    		...
    		...
    		
        		return this;
      	}
    }
    e il mio TableModel
    codice:
    public class TableModelFrame extends DefaultTableModel{
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    
    
    	@SuppressWarnings("unused")
    	private Object[][] data;
    	private String tipo;
    	private boolean[] disp;
    	private boolean buttonsEnable;
    	
        public TableModelFrame(Object[][] data, Object[] title, String tipo) {
           	super(data, title);
        	this.data=data;
        	this.tipo=tipo;
        	buttonsEnable=true;
        }
        
        public void setDisp(boolean[] disp){
        	this.disp=disp;
        }
        
        
        public void setButtonsEnable(boolean enable){
        	this.buttonsEnable=enable;
    
    
            fireTableChanged(new TableModelEvent(this, 0, getRowCount()-1, 7));
        }
        
        
        
        public boolean isCellEditable(int row, int column) {
            if(buttonsEnable) {
    		if(column==3 || column==4 || column==7 ) return true;
    		else return false;
    	}
    	else return false;
        }
        
        
        @SuppressWarnings({ "rawtypes", "unchecked" })
        public Class getColumnClass(int column) {
            if (column >= 0 && column <= getColumnCount())
    		return getValueAt(0, column).getClass();
            else
    		return Object.class;
        }
    }

    Lo SwingWorkerClass che non è cambiato
    codice:
    class SwingWorkerClass extends SwingWorker<Void, Void> {   
    	private ProgressPanel progressBar;
    	private Risultato r;
    	private ButtonEditor ed;
    	private TableModelFrame a_model;
    
    
    	public SwingWorkerClass(ProgressPanel aProgressBar, ButtonEditor ed, Risultato ris, TableModelFrame m_model) {        
    		this.progressBar = aProgressBar;
    		r=ris;
    		this.ed=ed;
    		a_model=m_model;
    		a_model.setButtonsEnable(false);
    		progressBar.setVisible(true);
    	
    	}
    
    
    	@Override
    	public Void doInBackground() {
    		//long running task
    		ed.modifyResult(r);
    		return null;
    	}    
    
    
    	@Override
    	public void done() {                
    		a_model.setButtonsEnable(true);
    		progressBar.setVisible(false);      
    	}
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  2. #2
    Tutto a posto.
    avevo fatto una cavolata.

    Grazie mille
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

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.