Renderer for a jcombobox

Hi All,
I am wondering if it is possible to add a JButton with some text to a JComboBox as an item?
I know JCombobox takes an object which would make me think that we should be able to add a Jbutton as a list item, but when i try and add my jbutton to the jcombobox as an object array all i get is the button object code string as an option and not the actual button....
When the button is pressed, I need to be able to do something. The question is how do I trap the button being pressed event and where?
Please advice.
Here is the sample code that I have tried :
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
public class ComboBoxRendererDemo extends JPanel
    static class ButtonComboBoxRenderer implements ListCellRenderer
        public Component
            getListCellRendererComponent (JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
            final JButton button = new JButton (value.toString());
            final Object valueCopy = value;
            button.addActionListener (new ActionListener()
                    public void actionPerformed (ActionEvent ae)
                        JOptionPane.showMessageDialog((Component) ae.getSource(), "You chose \"" + valueCopy + "\"!");
            return button;
    public static void main (String arg[])
         Object[] comboTypes = { new JButton("Numbers"), new String("Alphabets"),  new String("Symbols" )};
        JFrame mainFrame = new JFrame ("Combo Box With Buttons");
        JComboBox comboBox = new JComboBox (comboTypes);
        comboBox.setRenderer (new ButtonComboBoxRenderer());
        comboBox.setPreferredSize(new Dimension(200, 25));
        mainFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        ComboBoxRendererDemo _comboBoxRendererDemo = new ComboBoxRendererDemo();
        _comboBoxRendererDemo.add(comboBox,BorderLayout.CENTER);
        mainFrame.getContentPane().add (_comboBoxRendererDemo);
        mainFrame.setSize(400,400);
        mainFrame.setVisible(true);
}

Thanks you for the reply. Yes, I could move atleast one step ahead. But, what I actually need is the list items in the comboBox to be
in the following order:
JButton, String value1, String value2. This means I need to set up the renderer accordingly based on the listitem object type.
I tried modifying the code rectified by you. But, I'm still having problems. I have commented some parts of the code. Can you please guide me.
Thanks.
-S
Here is my sample code:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.ListCellRenderer;
import java.awt.event.*;
import javax.swing.*;
public class ComboBoxRendererDemo extends JPanel
    static class ButtonComboBoxRenderer implements ListCellRenderer
        public Component getListCellRendererComponent (JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
//             if(index == -1){
                 final JButton button = new JButton ( ((JButton)value).getText() );            
                 return button;
//             }else {
////                  return super.getListCellRendererComponent( list, value, index,
////                            isSelected, cellHasFocus );
//                  return this.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
    public static void main (String arg[])
         Object[] comboTypes = { new JButton("Numbers"), "Alphabets",  "Symbols"};
//         Object[] comboTypes = { new JButton("Numbers"), new JButton("Alphabets"),  new JButton("Symbols")};
        JFrame mainFrame = new JFrame ("Combo Box With Button and default label");
        mainFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        JComboBox comboBox = new JComboBox (comboTypes);
        comboBox.addItemListener( new ItemListener(){
               public void itemStateChanged(ItemEvent e)
                    if( e.getStateChange() == ItemEvent.SELECTED )
                         if(e.getItem()instanceof JButton){
                               JButton btn = (JButton)e.getItem();
                               JOptionPane.showMessageDialog(null, "You chose \"" + btn.getText()  + "\"!");
        comboBox.setRenderer (new ButtonComboBoxRenderer());
        comboBox.setPreferredSize(new Dimension(200, 25));
        mainFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        ComboBoxRendererDemo _comboBoxRendererDemo = new ComboBoxRendererDemo();
        _comboBoxRendererDemo.add(comboBox,BorderLayout.CENTER);
        mainFrame.getContentPane().add (_comboBoxRendererDemo);
        mainFrame.setSize(400,400);
        mainFrame.setVisible(true);
}

Similar Messages

  • Help required for creating Row Renderer for JTable

    Hi all,
    I am trying to create customize row renderer for JTable.
    My requirements are as below.
    |-----------------|-------------------|------------------|------------------|-------|----------------|
    |Category | Product ID |Description | Unit Price |Qty | Sub-Total |
    |-----------------|-------------------|------------------|------------------|-------|----------------|
    I have designed a combobox for category and product ID columns inside JTable. I want to put a listener on Category ID such that product IDs in selected categories will be visible in product ID drop down of selected row keeping other rows unchanged.
    Column renderer is defining a class for entire column but by setting that im getting same values in all the rows for product IDs. And if I update values for one product ID dropdown, entire column data is changing.
    Even im not able to put array of combobox for product ID column as number of rows are not fixed and increasing runtime.
    Can anyone suggest me how can i customize Cells under particular column with JComboBox?
    Regards,
    Mahesh Kedari
    Fidus Technologies Ltd.
    Edited by: m1JustM1 on Feb 8, 2010 4:48 AM

    Start by reading [this |http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#editrender] tutorial. If you still have questions afterward, feel free to post an SSCCE .

  • Dynamic JTable and rendering column as JComboBox

    I originally posted this to the "Java Programming" topic, but it was suggested that I move it over here.
    I'm new to cell renderers and editors, so I'm hoping someone can put me on the right path.
    I've got a JTable that is initially empty. I've set one column to use a custom cell renderer that extends JComboBox and implements TableCellRenderer.
    The user can add rows to the table at any time, I'm using TableModel.addRow() for this. When I call addRow, I pass the entryies for the JComboBox column as a String[], with one array element for each entry in the JComboBox.
    In my custom renderer, I take the values from the array and use JComboBox.addItem() to add them to the JComboBox.
    When I run the code, it appears fine, but the JComboBox doesn't function, i.e. it is not editable (yes, the column is set as editable). I assume I need to add a custom editor. I tried
    table.setCellEditor(new DefaultCellEditor(ComboBoxCellRenderer);
    and the combobox was now editable, but it was empty and I got nullpointer exceptions.
    What am I missing?
    Any help is appreciated. Here is what I'm trying:
    **************** Constructing the table **************
    DefaultTableModel tablemodel = new DefaultTableModel(columnnames,0);
    datasourcestable = new JTable(tablemodel) ;
    // Set custom renderer for particular columns in this JTable
    ComboBoxCellRenderer renderer = new ComboBoxCellRenderer();
    TableColumn waveformscalarcolumn = datasourcestable.getColumnModel().getColumn(datasourcestable.getColumn("Title").getModelIndex());
    waveformscalarcolumn.setCellRenderer(renderer);
    // tried the following, combobox becomes editable but empty
    //waveformscalarcolumn.setCellEditor(new DefaultCellEditor(renderer));
    *************** Adding rows to the table (Event Code)*********************
    DefaultTableModel tablemodel = (DefaultTableModel)datasourcestable.getModel();
    Object[] rowdata = new Object[3];
    rowdata[0] = "gaga";
    String[] cboxentries = {"cbox entry 1","cbox entry 2"};
    rowdata[1] = cboxentries;
    rowdata[1] = "gaga"'
    tablemodel.addRow(rowdata);
    **************** Custom Cell Renderer **********************
    class ComboBoxCellRenderer extends JComboBox implements TableCellRenderer {
    public ComboBoxCellRenderer() {
    setOpaque(true);
    public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) {
    String[] stringarray = (String[]) value;
    for (int i=0; i<stringarray.length; i++){
    this.addItem(stringarray);
    return this;
    }

    Ah! Using the ArrayList of editors in getCellEditor() is very clever, that's the solution I couldn't come up with. Now I just have to remember to add and delete editors as I add and delete rows.
    Thanks, I've got everything working now. Here's are some code snippets, for anyone interested. I used Vector rather than ArrayList to be thread safe.
    // ******************* Global variables ***********
    Vector<TableCellEditor> editors = new Vector<TableCellEditor>(24,8);
    JTable table;
    // *************** construct table ****************
    DefaultTableModel tablemodel = new DefaultTableModel(columnnames,0);
    table = new JTable(tablemodel) {
         public TableCellEditor getCellEditor(int row,int col) {
              int modelcolumn = convertColumnIndexToModel(col);
              int fancycol = table.getColumn("Title").getModelIndex();
              if (modelcolumn == fancycol) {
                   return (TableCellEditor)editors.elementAt(row);
              } else {
                   return super.getCellEditor(row,col);
    // Set custom renderer for particular column in this JTable
    ComboBoxCellRenderer comboboxrenderer = new ComboBoxCellRenderer();
    TableColumn column = table.getColumnModel().getColumn(table.getColumn("Title").getModelIndex());
    column.setCellRenderer(comboboxrenderer);
    //*************** Adding rows to the table (Event Code)*********************
    DefaultTableModel tablemodel = (DefaultTableModel)table.getModel();
    Object[] rowdata = new Object[3];
    rowdata[0] = "gaga";
    String[] cboxentries = {"cbox entry 1","cbox entry 2"};
    JComboBox cellcombo = new JComboBox();
    cellcombo.addItem(cboxentries[0]);
    cellcombo.addItem(cboxentries[1]);
    DefaultCellEditor editor = new DefaultCellEditor(cellcombo);
    editors.add(editor);
    rowdata[1] = cellcombo.getItemAt(0);          // don't know if this matters
    rowdata[2] = "gaga2";
    tablemodel.addRow(rowdata);
    //**************** Custom Cell Renderer *********************
    class ComboBoxCellRenderer extends JComboBox implements TableCellRenderer {
         public ComboBoxCellRenderer() {
         public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) {
    // display value in our JComboBOx
              this.addItem(value);
              this.setSelectedItem(value);
              return this;
    }

  • Editing Error - This Image cannot be rendered for editing...

    Editing Error - This Image cannot be rendered for editingbecause Aperture doesn't support the image format.
    Thats the message that appears when I'm exporting to Photoshop CS5 (I tried CS4 too), or even other Plug-ins such as Silver Efex Pro...
    That had never happened before, and I use Aperture for over 2 years.
    Its RAW image format from the same camera and all, nothing has changed. just randomly decided not to export anymore to other programs, Regular exporting works, so it's nothing to do with exporting it self, but the communication between aperture and other softwares, I think.
    I've seen some other people having the same problem, does anyone have a take on it, in how to solve this? I can't edit anymore outside of aperture. (of course not including the idea of exporting and doing everything away from aperture, which is totally not viable with the amount of content to be edited and not being in aperture anymore.)
    I've tried deleting the preferences, tried repair permissions of the Library, and still didn't work.
    Didn't go to the other 2 options (repair and rebuild database) because it would take days if chosen, and still not sure that would solve. or if has anything to do with.
    Any light anyone?

    What kind of file is it? (i.e.jpeg, Canon RAW, Nikon RAW etc..)
    As a workaround until you get the issue fixed, why not reimport the image from the original file, lift and stamp any adjustments you've made in Aperture, and see if the same problem occurs?
    A

  • Writing an ALSA Renderer for Linux

    Hi,
    I want to write an ALSA Renderer for Linux because I have problems with the JavaSoundRenderer in Linux and I really need a fast Audio Renderer for my app.
    What I need is a short tutorial for ALSA that shows how I can play sound with it.
    If you know a good tutorial or if anyone can give me short instructions for dealing with this problem post it here please.
    Best regards, thomas

    Have you looked at OSS ??
    I did some open sound system on linux, and it was easy.
    Lots of documentation/examples.
    I also used the exact same code, but compiled a dll on a linux box, to use on windows, with JNI, and it worked.
    Check out OSS if you haven't yet.
    http://www.opensound.com/linux.html

  • Item renderer for specific rows

    I need to have a checkbox item renderer for a spark datagrid column. I am using the following to get an item renderer into column:
    var checkBoxRenderer:ClassFactory = new ClassFactory(GridCheckBoxItemRenderer);
    column.itemRenderer = checkBoxRenderer;
    My question is if I need to show a checkbox for specific rows can I do that without going into GridCheckBoxItemRenderer's source code?
    Thanks

    Hi Zolotoj ,
    Please go through following links :
    http://stackoverflow.com/questions/1952940/show-itemrenderer-in-specific-datagrid-rows-oth ers-empty
    http://www.flexer.info/2009/01/09/different-rows-in-datagrid-programmatically-added-itemre nderers-classfactory-and-ifactory/
    It will provide you some idea to how to proceed further for this problem.
    Thanks and Regards,
    Vibhuti Gosavi | [email protected] | www.infocepts.com

  • Separate subpixel rendering for each monitor

    Hi,
    is it possible to configure separate subpixel rendering for each monitor? I use a multi monitor setup with 2 additional inverted screens (via xrandr). Each screen has a RGB subpixel mapping. The font rendering on the inverted screens looks odd, because they would need BGR mappings. Thats my guess at least, tested it via http://www.lagom.nl/lcd-test/subpixel.php

    Unfortunately there is no way to have separte subpixel rendering for each monitor.  The library doing the rendering (freetype), would have to know which screen you are on and adjust dynamically.  Plus, suppose you have half of a window on one screen and half on another - it wouldn't know which to choose.
    I would like to be able to do this, too, for my rotated monitor.
    I am sure it is technically possible, but not without a major redesign of how the applications render the fonts.

  • Facing problem in using JEditorPane as renderer for JList

    I am trying to use JEditorPane as renderer for a list. But I am facing some problems. First problem is the output in the editorpane is not shown properly. I want to show a html file, but only portion of the first line that is viewable in the editorpane is shown. I, of course, need to show the total content of the file. Again sometimes the editorpane looks blank. If I click on the list then some text are shown in the editor pane. Please help me to overcome these problems.
    Here goes the code for the renderer.
    list.setCellRenderer(new ListCellRenderer() {
                private JEditorPane editor = new JEditorPane();
                public Component getListCellRendererComponent(JList mList, Object value, int index,
                                                            boolean isSelected, boolean hasFocus) {
                    try {
                        editor.setPage("file://localhost/C:/networks/network1/description.html");
                        editor.setBackground(isSelected ? mList.getSelectionBackground() : mList.getBackground());
                        editor.setForeground(isSelected ? mList.getSelectionForeground() : mList.getForeground());
                        editor.setBorder(BorderFactory.createRaisedBevelBorder());
                        editor.setOpaque(true);
                    } catch(Exception e) {
                        e.printStackTrace();
                    return editor;
            });

    hai ahmad,
    it could be bcoz of the size of the pane.... the size content might be too large to fit in that pane....... y dont u increase the width of the pane..
    or set the size of the pane..... its surely bcoz of the size only....
    hope this helps u...... or else revert back for further clarifications...
    Regards,
    Ciya.

  • How to use renderer for a Jtree Element

    Hi all,
    i have been told to use Renderer for drawing a JTree on a JPanel.
    I mean, i want to draw each element of the JTree as a rectangle with a label inside it.....each element of my JTree contains an UserObject with a string inside it.
    Any suggestions ?
    Cheers.
    Stefano

    read the link below it shows how to use trees and tree renderer.
    http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html

  • JTree as cell renderer for JList

    I have an application that requires to display a list of tree-structured data.
    So I've used JTree a the cell renderer for the JList, and I can see a list of trees with that data in.
    However, the Jtree doesn't respond to Mouse messages, even if I dispatch the to it manually. So the tree is essentially dead.
    Does anybody know how to fix this?

    I'm not sure if they have the same thing for lists though.Yes, it is so - a cellrenderer or celleditor is a component, that is only there during it is used - a cellrenderer is there as long as it needs to paint the contents, a celleditor is there, if an edit-process is invoked and it will get messages as long as the editing process continues - after finishing editing, the component is no longer there - normally the renderer is called after that, to render the new contents into the rectangle of that cell, because the contents in its non-editing state may look other than that from the editor during the editing-state.
    greetings Marsian

  • Possible to create a custom renderer for rendering standard component ?

    This is in context for creating dynamic Data tables. Is it possible to create a custom Renderer for rendering component (standard) without creating a custom component?
    namanc

    Let's assume you want to create a custom renderer which will be used to render the error-messages (the h:messages tag). The component-family in this case is: javax.faces.Messages, the renderer-type javax.faces.Messages.
    Therefor in your application's faces-config.xml add this renderer-statement (inside a render-kit, obviuosly):
    <faces-config>
      <!-- other stuff like components, managed beans, navigation-rules,... -->
      <render-kit>
        <renderer>
          <component-family>javax.faces.Messages</component-family>
          <renderer-type>javax.faces.Messages</renderer-type>
          <renderer-class>my.very.special.MessagesRenderer</renderer-class>
        </renderer>
      </render-kit>
      <!-- other renderers... -->
    </faces-config>The code for MessagesRenderer is very dependent on your needs, therefor I will not post something here. Basically you need to extend javax.faces.render.Renderer. For help in that camp, surf to the online tutorials or get yourself a book (I learned a lot from Kito Mann's "JSF in Action"). Additionally grab the source for Sun's RI AND Myfaces and dig into that java-code. There is a huge learning potential looking at that source-material.
    hth
    Alexander

  • Java script issue on screen rendering for all-11-otn4.js

    Hello,
    I am getting java error on screen rendering for all-11-otn4.js line no 12277 and 16073. The java script error I get is, *"A script on this page may be busy, or it may have stopped responding. You can stop the script now, open the script in debugger, or let the script continue"*. After this page stops responding, i have to close the browser and reopen it.
    I have a table inside my screen. The table is added inside a af:panelCollection and have few toolbar buttons added inside the secondayToolbar facet. This error is commng due to the table toolbar buttons.
    When i check the java scirpt using debugger, it stops at following java script at the bold line,
    AdfUIComponent.prototype.getParent= function()
    var x147=this._parent;
    if (x147===undefined)
    var x148=this._peer;
    if (x148!=null)
    x147=x148.getComponentParent(this);
    this._parent=x147;
    return x147;
    Any idean why this could be happening and any ways to tackel it?
    - Sujay

    Hi,
    did you try with a production build. Sems to me that you use Technology Preview, which is almost 2 years old
    Frank

  • Custom Cell Renderer for JTable

    Help, I'm trying to write a custom renderer for a column of my JTable but can't get it to work.
    Want I want is a cell in that column to be a label with an Icon and text.
    Trying to test with something simple, just changing colors but even that doesn't work. Can anyone see where I've gone wrong.
    table = new JTable(tableModel);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    table.setShowGrid(false);
    TableColumn tc = table.getColumnModel().getColumn(0);
    tc.setCellRenderer(new DefaultTableCellRenderer() {
       public Component getTableCellRendererComponent(JTable table,
                                                   Object value,
                                                   boolean isSelected,
                                                   boolean hasFocus,
                                                   int row,
                                                   int column)
             JLabel label = (JLabel)
                super.getTableCellRendererComponent
                   (table, value, isSelected, hasFocus, row, column);
                label.setForeground(Color.red);
                label.setBackground(Color.black);
                System.out.println("Object: "+ value);
                return label;
    });Thanks,
    Derek

    Hi
    For colors try :
    all your code
    but where you call super.getTableCellRendererComponent(......
    do only setText(value.toString());
    I supose it is Ok just for changing the colors. If you want render
    an Icon plus some text you can put at your model a JLabel and at this
    render do
    setText((JLabel)value.getText());
    setIcon((JLabel)value.getIcon());
    inside a try/catch clause becasue you can put other kind of object at
    model level
    Or pass instances of an special Class with Icon/Text with publics members set/get to acces to text/icon.
    Hope this help

  • I have a few wedding projects(1-2 hours)I am trying to export at full hd quality,than burn in idvd.After rendering for 8hrs I receive error code that states "file is too big". Please help? compressing tips without losing quality?

    I have a few wedding projects(1-2 hours)I am trying to export at full hd quality,than burn in idvd. After rendering for 8hrs I receive error code that states "file is too big". Please help? compressing tips without losing quality? or any other exporting alternatives?

    Hey Z,
    Thank you for the tip on exporting by media browser (large) from imovie. But of course, if it's not one thing it's another. Now that I figured how to export a large file from imovie, I have an idvd issue. I followed the instructions for burning from idvd and changing the encoding to professional quality and the burn speed to x4, but I am receiving an error that states the following,
    Your project exceeds the maximum content duration. To burn your DVD, change the encoder setting in the Project Info window.
    Project:
    - total project duration: 79:04 minutes
    - total project capacity: 4.327 GB (max. available: 4.172 GB)
    Menus:
    - number of menus in project: 1 menus
    - total menu duration: 0:39 minutes
    - total menu capacity: 37.370 MB
    Movies:
    - total movies duration: 78:25 minutes
    - total movies capacity: 4.291 GB
    I have searched in the idvd forum for similar issues and I am stumped at this point. I have tried deleting the encoding assets and re launching idvd with the changed preferences, and still the same error. I know you mentioned something about free hard drive space available, and I have very little left. 4GB to be exact due to massive hours of non-edited footage. I am not sure if this is why, but I do not recall ever needing free space to burn memory onto a separate dvd. I would be more than happy if I am wrong, and it would be a quick fix. Otherwise, the technical nightmare continues. It's all a learning process and your expertise is greatly appreciated! Thanks in advance.

  • How to override the renderer for ADF component?

    I want to overide the renderer for ADF components, without using <default-render-kit>, I defined every render class. But It does not work.
    Always told me: Could not find renderer for CoreOutputText[UIXFacesBeanImpl, id=_id0], rendererType = oracle.adf.Text
    How can I config custom renderer for exsiting component or new components?
    Thanks a lot!
    <render-kit>
    <render-kit-id>oracle.adf.core</render-kit-id>
    <renderer>
    <component-family>oracle.adf.Output</component-family>
    <renderer-type>oracle.adf.Formatted</renderer-type>
    <renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.OutputFormattedRenderer</renderer-class>
    </renderer>
    <renderer>
    <component-family>oracle.adf.Choose</component-family>
    <renderer-type>oracle.adf.Date</renderer-type>
    <renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.ChooseDateRenderer</renderer-class>
    </renderer>
    <renderer>
    <component-family>oracle.adf.Input</component-family>
    <renderer-type>oracle.adf.Text</renderer-type>
    <renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.InputTextRenderer</renderer-class>
    </renderer>
    <renderer>
    <component-family>oracle.adf.SelectInput</component-family>
    <renderer-type>oracle.adf.Date</renderer-type>
    <renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.SelectInputDateRenderer</renderer-class>
    </renderer>
    <renderer>
    <component-family>oracle.adf.Object</component-family>
    <renderer-type>oracle.adf.Separator</renderer-type>
    <renderer-class>oracle.adfinternal.view.faces.uinode.UINodeRendererBase</renderer-class>
    </renderer>
    <renderer>
    <component-family>oracle.adf.Command</component-family>
    <renderer-type>oracle.adf.Link</renderer-type>
    <renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.CommandLinkRenderer</renderer-class>
    </renderer>
    <renderer>
    <component-family>oracle.adf.Panel</component-family>
    <renderer-type>oracle.adf.Group</renderer-type>
    <renderer-class>oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelGroupRenderer</renderer-class>
    </renderer>
    </render-kit>

    Seems I need override the encodeSelectItem() method.
    But not sure which class is the renderer for af:selectManyCheckbox. And how to set below
    <component-family>???</component-family>
    <renderer-type>???</renderer-type>
    Edited by: Leon Zeng on Jul 19, 2012 2:18 PM

Maybe you are looking for