[ Jovana_87_Bg @ 12.12.2011. 13:27 ] @
Pokusala sam da napisem program koji ce obojiti redove u zavisnosti od toga da li je iznos veci ili manji od 0. Imam clasu RenderRedGreen u kojoj mi ne prkazuje greske, medjutim nisam sigurna kako da tu klasu ocitam u klasu tabela (klasa tabela sadrzi tabelu jTabelaPlate). Tabela jTabelaPlate: Plata Iznos Jovana 200 Boban -100 Code: package red; import javax.swing.table.*; import javax.swing.*; import java.awt.*; final class RenderRedGreen extends DefaultTableCellRenderer { RenderRedGreen () { setHorizontalAlignment(SwingConstants.RIGHT); } public Component getTableCellRendererComponent( JTable aTable, Object aNumberValue, boolean aIsSelected, boolean aHasFocus, int aRow, int aColumn ) { if (aNumberValue == null) return this; Component renderer = super.getTableCellRendererComponent( aTable, aNumberValue, aIsSelected, aHasFocus, aRow, aColumn ); Number value = (Number)aNumberValue; if ( value.doubleValue() < 0 ) { renderer.setForeground(Color.red); } else { renderer.setForeground(fDarkGreen); } return this; } private Color fDarkGreen = Color.green.darker(); } Code: public class Tabela extends javax.swing.JFrame { public Tabela() { initComponents(); RenderRedGreen r=new RenderRedGreen(); r.getTableCellRendererComponent(jTabelaPlate, args, true, true, ERROR, WIDTH); //ovaj deo koda ne znam da prilagodim } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Tabela().setVisible(true); } }); } |