Setting a renderer for an entire table by default

Is there a way to set another renderer for an entire table, a renderer that extends DefaultTableCellRenderer in particular. I mean I can think of a workaround where I basically go through each column of the JTable and set the default renderer for each column, but that seems like a hack. Shouldn't there be away to set it across the board?
I don't see a Jtable.setCellRenderer(), I see ways of setting the renderer by Object type, or by column, but what about across the board?

table.setDefaultRenderer(Object.class, someRenderer);

Similar Messages

  • Setting a renderer for an element dynamically at runtime

    Currently i am searching for a UI feature : Generating a HTML table by setting the renderer for each cell dynamically at runtime. E.g. depending on some state dependency(e.g. authorization issue) i want to render information in a cell in one case as a hyperlink or a in the other case as a informational text (instead of the hyperlink).
    My question : is that feature in JSF Framework implemented or adaptable? Viewing some JSP/JSF code, the definition of the renderer seems to me to be determined at compile time, and there is no example how to do as described above.
    Any hint appreciated, Joerg

    I agree with keyurva proposal. This rendererType is dynamically set based on the state.
    2nd is if all the cell are the same component type, you even can extends the component to override the getRendererType() method making to returne a different value based on the state.

  • How to set the icon for the entire application with JFrame.setIconImage

    I set the icon on the main frame using JFrame.setIconImage(). The icon is shown properly in the main frame.
    If more JFrames are opened from the main frame, the newly opened JFrames also show the icon.
    However if JDialogs are opended, in some cases the icon set on the main frame is shown and in other cases the coffee cup.
    What is JFrame.setIconImage() expected to do? Setting the icon for a single JFrame or the entire application?
    How can I set the icon for the entire application?
    How can I set the icon for JDialogs?
    Thank you

    In order for your dialogs to use the same icon as the frame, you must parent the dialogs to the frame which has the custom icon.
    See the following thread for more information: http://forum.java.sun.com/thread.jsp?forum=57&thread=362542
    cheers,
    Greg

  • How to Add a filter option for a entire table to a search button?

    Hi all,
    I am new to SAPUI5. i am having a table with hard coded data's.and i have a search field.
    i want to add a filter option to the search field for the entire table..
    i can able to add a filter option to the column by using filterProperty.
    is there is any method or property to do that?
    PS - i have attached my table code.
    Regars
    Dayalan

    Hi Dayalan,
    documentation for filtering and sorting is in this section of the Developers Guide.
    Cheers
    Graham Robbo

  • How to set dbms_stats parameters for a single table

    Hi,
    I see that dbms_stats has the following procedure:
    PROCEDURE SET_PARAM
    Argument Name Type In/Out Default?
    PNAME VARCHAR2 IN
    PVAL VARCHAR2 IN
    Is there a way to change the parameters only for a single table?
    I need to set METHOD_OPT=>'FOR ALL COLUMNS SIZE 1' only for a specific table...

    I'm sorry, mate. It looks like setting individual table preferences was introduced in 11g (and doesn't seem to work all that well).
    You can still:
    1. Explicitly specify any of the supported parameters by using DBMS_STATS.GATHER_TABLE_STATS() for the individual table and run it along.
    2. Write a PL/SQL wrapper for let's say DBMS_STATS.GATHER_SCHEMA_STATS/GATHER_DTABASE_STATS that would gather the stats for the whole schema but ignore this particular table. Then gather the stats for the table with the METHOD_OPT parameter of your choice that could be different from the one used for the rest of the schema.
    This could be achieved by locking particular table stats with DBMS_STATS.LOCK_TABLE_STATS, running GATHER_SCHEMA_STATS with force=>FALSE (which is the default). That parameter will make the procedure ignore any tables with locked stats. As the last step of the wrapper you can execute DBMS_STATS.GATHER_TABLE_STATS for the table in question with the desired METHOD_OPT and force=>TRUE.
    It's a little more work, but may solve your problem.
    Max
    Edited by: Max Seleznev on Nov 28, 2012 6:21 PM
    Edited by: Max Seleznev on Nov 28, 2012 6:22 PM

  • Setting date format for the entire SQL Server installation - SQL Server 2008 R2-2012

    Hi,
    I need to safeguard the behaviour of SQL codes that inserting into SQL tables with some date columns. For this purpose, I need to change the date format for the SQL instance and not using CONVERT and CAST.
    I've seen the SET DATE FORMAT statement, but if I use it, could I solve my problem?
    Thanks

    The language setting is related to the database user.
    BOL: "DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }              
    Specifies the default language for the new user. If a default language is specified for the user and the default language of the database is later changed, the users default language remains as specified.
    If no default language is specified, the default language for the user will be the default language of the database. If the default language for the user is not specified and the default language of the database is later changed, the default
    language of the user will change to the new default language for the database."
    LINK: http://technet.microsoft.com/en-us/library/ms173463.aspx
    The default language setting can be overridden by SET LANGUAGE for the session:
    http://technet.microsoft.com/en-us/library/ms174398.aspx
    Example:
    SET LANGUAGE us_english; -- mdy
    SELECT CAST ('12/13/2014' as DATE); -- 2014-12-13
    GO
    SET LANGUAGE british; -- dmy
    SELECT CAST ('12/13/2014' as DATE);
    GO
    (1 row(s) affected)
    Changed language setting to British.
    Msg 241, Level 16, State 1, Line 2
    Conversion failed when converting date and/or time from character string.
    Kalman Toth Database & OLAP Architect
    SELECT Video Tutorials 4 Hours
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Setting a namespace for an entire message

    Hello,
    When creating a message type, it is possible to set a XML namespace for the message. But I observed that this namespace is only set for the root element an not for the entire message. The namespace is set like this in the resulting message:
    <ns1:UpdateDictionaryItem xmlns:ns1 ="http://www.namespace.com">
            <District>
                <Name>SERV3</Name>
                <RegionParent>0001</RegionParent>
            </District>
    </ns1:UpdateDictionaryItem>
    But I would need it like this:
    <ns1:UpdateDictionaryItem xmlns:ns1 ="http://www.namespace.com">
            <ns1:District>
                <ns1:Name>SERV3</ns1:Name>
                <ns1:RegionParent>0001</ns1:RegionParent>
            </ns1:District>
    </ns1:UpdateDictionaryItem>
    or like this:
    <UpdateDictionaryItem xmlns ="http://www.namespace.com">
            <District>
                <Name>SERV3</Name>
                <RegionParent>0001</RegionParent>
            </District>
    </:UpdateDictionaryItem>
    Is there a way to do that?
    regards,
    Jens Harzer

    Hello,
    I tried it, but PI seems to ignore that ;). I did it like this
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.namespace.com" targetNamespace="http://www.namespace.com">
    <xsd:element name="UpdateDictionaryItem">  
         <xsd:complexType>
          <xsd:annotation>
             <xsd:documentation xml:lang="EN">
             UpdateDictionaryItem
             </xsd:documentation>
          </xsd:annotation>
          <xsd:sequence>
             <xsd:element name="District" xmlns="http://www.namespace.com">
                <xsd:complexType>
                   <xsd:sequence>
                      <xsd:element xmlns="http://www.namespace.com" name="Key" type="xsd:integer" minOccurs="0" />
                      <xsd:element xmlns="http://www.namespace.com" name="Revision" type="xsd:integer" minOccurs="0" />
                      <xsd:element xmlns="http://www.namespace.com" name="Name" type="xsd:string" minOccurs="0" />
                      <xsd:element xmlns="http://www.namespace.com" name="RegionParent" type="xsd:string" minOccurs="0" />
    and so on... Maybe I did something wrong?

  • How to set coumn value for an ADF Table?

    Hi,
    I am currently using Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660. I have an ADF table in which I have a column created using View Object as Select one choice. I want to set the value(first time as selected one) in it which is coming from my second View Object. Can anyone please provide me sample code for the same?
    Thanks,
    Vik

    Hi,
    I have no idea what you are asking for. Did you try model driven List-of-Values defined for the attribute you want to update using a select one choice ? See this document http://www.oracle.com/technetwork/developer-tools/adf/learnmore/dec2010-otn-harvest-199274.pdf and look for how to create dependent list of values. Just follow the first part of it that explains how to create model driven LOV
    Frank

  • Is there a wayto set a passcode on one's ipad e mail alone or do you have set a passcode for the entire i pad

    is there a way to set a passcode on one's ipad e mail or do you have to lock the entire ipad?

    You cannot passcode lock the mail app with any feature of the iOS.. There is an app that will let you passcode mail but I have no idea how well it works. You can check it out.
    http://itunes.apple.com/us/app/mail-locker-keep-your-mail/id449844544?mt=8
    If that doesn't work for you, then you have would have to passcode lock the iPad in order to prevent anyone from seeing your mail.

  • How to set runtime parameter for the entire system

    Hi,
    I have a problem with setting runtime parameters in jre v1.6.0_07. I have an XP computer with multiple users and to use the application eavery user must set the runtime parameter once by going to java control panel -> Java -> Java applet runtime settings -> view. How can i automate this? I have multiple users and there may be more users logging in so manually sending the C:\<userProfileDirectory>\Application Data\Sun\Java\Deployment\deployment.properties file to all profiles is not a solution. Same question here but no solution. Every user must get this parameter when they log in, they may be new users or existing users. The software I'm trying to use is browser based, we don't trigger an exe or something from local to run the software.
    In C:\<userProfileDirectory>\Application Data\Sun\Java\Deployment\deployment.properties file there is a line like this;
    deployment.javapi.jre.1.6.0_07.args=
    This works for a single user. I've read the instructions in [deployment guide|http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html] but the properties file we put in C:\WINDOWS\Sun\Java\Deployment does not support ".args=" command. Anyone encountered or have a solution for this problem?
    Thanks.

    Hi,
    got solution for this problem? I am also having the same problem.
    Thanks.

  • How to set the indent for an entire paragraph without shortcut

    I recently got told how to let the whole paragraph have an indent on the left side, just like the first line via Cmd+´(German version of InDesign). Is there also a menu command that does this? I don't like using shortcuts until I know what I'm actually doing. Is it true that the word spacing can only be done via shortcut? Is it the same here? What else is there, that can only be done via shortcut (and why)?
    Thanks a lot!

    You can set indents in the Paragraph palette. If you want a first line indent, like a normal paragraph in a book or magazine, just change the First Line Indent. If you want a hanging indent, like on a bulleted list, then set the Left Indent first then make the First Line Indent a negative value.

  • How to set title/text for ALV table column header in WD ABAP

    Hello,
    I am working in WDA using SALV_WD_Table to display data in table. I need to change the column header text, the obvious way is to get the column header and call the method SET_TEXT to set new text / title. However, this method does NOT work, it does not change the column header text. I also tried the SET_TOOLTIP, this one works, but SET_TEXT does not work. Anyone has idea why this not working and do you find any go-around solution?
    My version is NW 7.0
    Thank
    Jayson

    Hi jason ,
    For setting Heder text for your ALV table
    ip_confing type ref to CL_SALV_WD_CONFIG_TABLE.
    "set alv table header
      ip_config->if_salv_wd_table_settings~r_header->set_text( 'Test ALV Header functionality' ).
    first you have to hide the DDIC text and then try to set your own text .
    "modify columns
      LOOP AT lt_columns INTO ls_column.
        lr_column = ls_column-r_column.
        CASE ls_column-id.
          WHEN 'MANDT'.
            "hide this field
            lr_column->set_visible( cl_wd_abstr_table_column=>e_visible-none ).
           WHEN 'SEQNR'.
            "set header to different string
            lr_column->r_header->set_ddic_binding_field( if_salv_wd_c_column_settings=>ddic_bind_none )." use this line to hide ddic text
            lr_column->r_header->set_text( 'Position' ).     
        endcase.
      endloop.
    Regards
    Chinnaiya P

  • How do I set proxy settings for a Java app behind a corporate server?

    I have the source code of a Download Manager program written in Java. It has to be run within my college network in which we use the "Corporate Client" server to access the internet. The HTTP proxy is 172.16.68.6 and Port number is 3128. How do I define these parameters in my java program so that it can download files from the internet?
    The source code for the program is:
    There are four classes:
    1. DownloadManager.java
    2. Download.java
    3. DownloadTable.java
    4. ProgressRenderer.java
    /*__DownloadManager.java__*/
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.event.*;
    // The Download Manager.
    public class DownloadManager extends JFrame
            implements Observer {
        // Add download text field.
        private JTextField addTextField;
        // Download table's data model.
        private DownloadsTableModel tableModel;
        // Table listing downloads.
        private JTable table;
        // These are the buttons for managing the selected download.
        private JButton pauseButton, resumeButton;
        private JButton cancelButton, clearButton;
        // Currently selected download.
        private Download selectedDownload;
        // Flag for whether or not table selection is being cleared.
        private boolean clearing;
        // Constructor for Download Manager.
        public DownloadManager() {
            // Set application title.
            setTitle("Download Manager");
            // Set window size.
            setSize(640, 480);
            // Handle window closing events.
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    actionExit();
            // Set up file menu.
            JMenuBar menuBar = new JMenuBar();
            JMenu fileMenu = new JMenu("File");
            fileMenu.setMnemonic(KeyEvent.VK_F);
            JMenuItem fileExitMenuItem = new JMenuItem("Exit",
                    KeyEvent.VK_X);
            fileExitMenuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    actionExit();
            fileMenu.add(fileExitMenuItem);
            menuBar.add(fileMenu);
            setJMenuBar(menuBar);
            // Set up add panel.
            JPanel addPanel = new JPanel();
            addTextField = new JTextField(30);
            addPanel.add(addTextField);
            JButton addButton = new JButton("Add Download");
            addButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    actionAdd();
            addPanel.add(addButton);
            // Set up Downloads table.
            tableModel = new DownloadsTableModel();
            table = new JTable(tableModel);
            table.getSelectionModel().addListSelectionListener(new
                    ListSelectionListener() {
                public void valueChanged(ListSelectionEvent e) {
                    tableSelectionChanged();
            // Allow only one row at a time to be selected.
            table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            // Set up ProgressBar as renderer for progress column.
            ProgressRenderer renderer = new ProgressRenderer(0, 100);
            renderer.setStringPainted(true); // show progress text
            table.setDefaultRenderer(JProgressBar.class, renderer);
            // Set table's row height large enough to fit JProgressBar.
            table.setRowHeight(
                    (int) renderer.getPreferredSize().getHeight());
            // Set up downloads panel.
            JPanel downloadsPanel = new JPanel();
            downloadsPanel.setBorder(
                    BorderFactory.createTitledBorder("Downloads"));
            downloadsPanel.setLayout(new BorderLayout());
            downloadsPanel.add(new JScrollPane(table),
                    BorderLayout.CENTER);
            // Set up buttons panel.
            JPanel buttonsPanel = new JPanel();
            pauseButton = new JButton("Pause");
            pauseButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    actionPause();
            pauseButton.setEnabled(false);
            buttonsPanel.add(pauseButton);
            resumeButton = new JButton("Resume");
            resumeButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    actionResume();
            resumeButton.setEnabled(false);
            buttonsPanel.add(resumeButton);
            cancelButton = new JButton("Cancel");
            cancelButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    actionCancel();
            cancelButton.setEnabled(false);
            buttonsPanel.add(cancelButton);
            clearButton = new JButton("Clear");
            clearButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    actionClear();
            clearButton.setEnabled(false);
            buttonsPanel.add(clearButton);
            // Add panels to display.
            getContentPane().setLayout(new BorderLayout());
            getContentPane().add(addPanel, BorderLayout.NORTH);
            getContentPane().add(downloadsPanel, BorderLayout.CENTER);
            getContentPane().add(buttonsPanel, BorderLayout.SOUTH);
        // Exit this program.
        private void actionExit() {
            System.exit(0);
        // Add a new download.
        private void actionAdd() {
            URL verifiedUrl = verifyUrl(addTextField.getText());
            if (verifiedUrl != null) {
                tableModel.addDownload(new Download(verifiedUrl));
                addTextField.setText(""); // reset add text field
            } else {
                JOptionPane.showMessageDialog(this,
                        "Invalid Download URL", "Error",
                        JOptionPane.ERROR_MESSAGE);
        // Verify download URL.
        private URL verifyUrl(String url) {
            // Only allow HTTP URLs.
            if (!url.toLowerCase().startsWith("http://"))
                return null;
            // Verify format of URL.
            URL verifiedUrl = null;
            try {
                verifiedUrl = new URL(url);
            } catch (Exception e) {
                return null;
            // Make sure URL specifies a file.
            if (verifiedUrl.getFile().length() < 2)
                return null;
            return verifiedUrl;
        // Called when table row selection changes.
        private void tableSelectionChanged() {
        /* Unregister from receiving notifications
           from the last selected download. */
            if (selectedDownload != null)
                selectedDownload.deleteObserver(DownloadManager.this);
        /* If not in the middle of clearing a download,
           set the selected download and register to
           receive notifications from it. */
            if (!clearing) {
                selectedDownload =
                        tableModel.getDownload(table.getSelectedRow());
                selectedDownload.addObserver(DownloadManager.this);
                updateButtons();
        // Pause the selected download.
        private void actionPause() {
            selectedDownload.pause();
            updateButtons();
        // Resume the selected download.
        private void actionResume() {
            selectedDownload.resume();
            updateButtons();
        // Cancel the selected download.
        private void actionCancel() {
            selectedDownload.cancel();
            updateButtons();
        // Clear the selected download.
        private void actionClear() {
            clearing = true;
            tableModel.clearDownload(table.getSelectedRow());
            clearing = false;
            selectedDownload = null;
            updateButtons();
      /* Update each button's state based off of the
         currently selected download's status. */
        private void updateButtons() {
            if (selectedDownload != null) {
                int status = selectedDownload.getStatus();
                switch (status) {
                    case Download.DOWNLOADING:
                        pauseButton.setEnabled(true);
                        resumeButton.setEnabled(false);
                        cancelButton.setEnabled(true);
                        clearButton.setEnabled(false);
                        break;
                    case Download.PAUSED:
                        pauseButton.setEnabled(false);
                        resumeButton.setEnabled(true);
                        cancelButton.setEnabled(true);
                        clearButton.setEnabled(false);
                        break;
                    case Download.ERROR:
                        pauseButton.setEnabled(false);
                        resumeButton.setEnabled(true);
                        cancelButton.setEnabled(false);
                        clearButton.setEnabled(true);
                        break;
                    default: // COMPLETE or CANCELLED
                        pauseButton.setEnabled(false);
                        resumeButton.setEnabled(false);
                        cancelButton.setEnabled(false);
                        clearButton.setEnabled(true);
            } else {
                // No download is selected in table.
                pauseButton.setEnabled(false);
                resumeButton.setEnabled(false);
                cancelButton.setEnabled(false);
                clearButton.setEnabled(false);
      /* Update is called when a Download notifies its
         observers of any changes. */
        public void update(Observable o, Object arg) {
            // Update buttons if the selected download has changed.
            if (selectedDownload != null && selectedDownload.equals(o))
                updateButtons();
        // Run the Download Manager.
        public static void main(String[] args) {
            DownloadManager manager = new DownloadManager();
            manager.show();
    This example shows how to create a simple download manager in Java. It contains four classes in foru Java source files:
    Download.java: Contains Download class which downloads a file from a URL.
    DownloadManager.java: Contains the main class for download manager application.
    DownloadsTableModel.java: Contains the class which manages the download table's data.
    ProgressRenderer.java: Contains the class which is responsible to render a JProgressBar in a table cell.
    The contents of the listed files are written below.
    /*__Download.java__*/
    import java.io.*;
    import java.net.*;
    import java.util.*;
    // This class downloads a file from a URL.
    class Download extends Observable implements Runnable {
        // Max size of download buffer.
        private static final int MAX_BUFFER_SIZE = 1024;
        // These are the status names.
        public static final String STATUSES[] = {"Downloading",
        "Paused", "Complete", "Cancelled", "Error"};
        // These are the status codes.
        public static final int DOWNLOADING = 0;
        public static final int PAUSED = 1;
        public static final int COMPLETE = 2;
        public static final int CANCELLED = 3;
        public static final int ERROR = 4;
        private URL url; // download URL
        private int size; // size of download in bytes
        private int downloaded; // number of bytes downloaded
        private int status; // current status of download
        // Constructor for Download.
        public Download(URL url) {
            this.url = url;
            size = -1;
            downloaded = 0;
            status = DOWNLOADING;
            // Begin the download.
            download();
        // Get this download's URL.
        public String getUrl() {
            return url.toString();
        // Get this download's size.
        public int getSize() {
            return size;
        // Get this download's progress.
        public float getProgress() {
            return ((float) downloaded / size) * 100;
        // Get this download's status.
        public int getStatus() {
            return status;
        // Pause this download.
        public void pause() {
            status = PAUSED;
            stateChanged();
        // Resume this download.
        public void resume() {
            status = DOWNLOADING;
            stateChanged();
            download();
        // Cancel this download.
        public void cancel() {
            status = CANCELLED;
            stateChanged();
        // Mark this download as having an error.
        private void error() {
            status = ERROR;
            stateChanged();
        // Start or resume downloading.
        private void download() {
            Thread thread = new Thread(this);
            thread.start();
        // Get file name portion of URL.
        private String getFileName(URL url) {
            String fileName = url.getFile();
            return fileName.substring(fileName.lastIndexOf('/') + 1);
        // Download file.
        public void run() {
            RandomAccessFile file = null;
            InputStream stream = null;
            try {
                // Open connection to URL.
                HttpURLConnection connection =
                        (HttpURLConnection) url.openConnection();
                // Specify what portion of file to download.
                connection.setRequestProperty("Range",
                        "bytes=" + downloaded + "-");
                // Connect to server.
                connection.connect();
                // Make sure response code is in the 200 range.
                if (connection.getResponseCode() / 100 != 2) {
                    error();
                // Check for valid content length.
                int contentLength = connection.getContentLength();
                if (contentLength < 1) {
                    error();
          /* Set the size for this download if it
             hasn't been already set. */
                if (size == -1) {
                    size = contentLength;
                    stateChanged();
                // Open file and seek to the end of it.
                file = new RandomAccessFile(getFileName(url), "rw");
                file.seek(downloaded);
                stream = connection.getInputStream();
                while (status == DOWNLOADING) {
            /* Size buffer according to how much of the
               file is left to download. */
                    byte buffer[];
                    if (size - downloaded > MAX_BUFFER_SIZE) {
                        buffer = new byte[MAX_BUFFER_SIZE];
                    } else {
                        buffer = new byte[size - downloaded];
                    // Read from server into buffer.
                    int read = stream.read(buffer);
                    if (read == -1)
                        break;
                    // Write buffer to file.
                    file.write(buffer, 0, read);
                    downloaded += read;
                    stateChanged();
          /* Change status to complete if this point was
             reached because downloading has finished. */
                if (status == DOWNLOADING) {
                    status = COMPLETE;
                    stateChanged();
            } catch (Exception e) {
                error();
            } finally {
                // Close file.
                if (file != null) {
                    try {
                        file.close();
                    } catch (Exception e) {}
                // Close connection to server.
                if (stream != null) {
                    try {
                        stream.close();
                    } catch (Exception e) {}
        // Notify observers that this download's status has changed.
        private void stateChanged() {
            setChanged();
            notifyObservers();
    /*__DownloadTableModel.java__*/
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    // This class manages the download table's data.
    class DownloadsTableModel extends AbstractTableModel
            implements Observer {
        // These are the names for the table's columns.
        private static final String[] columnNames = {"URL", "Size",
        "Progress", "Status"};
        // These are the classes for each column's values.
        private static final Class[] columnClasses = {String.class,
        String.class, JProgressBar.class, String.class};
        // The table's list of downloads.
        private ArrayList downloadList = new ArrayList();
        // Add a new download to the table.
        public void addDownload(Download download) {
            // Register to be notified when the download changes.
            download.addObserver(this);
            downloadList.add(download);
            // Fire table row insertion notification to table.
            fireTableRowsInserted(getRowCount() - 1, getRowCount() - 1);
        // Get a download for the specified row.
        public Download getDownload(int row) {
            return (Download) downloadList.get(row);
        // Remove a download from the list.
        public void clearDownload(int row) {
            downloadList.remove(row);
            // Fire table row deletion notification to table.
            fireTableRowsDeleted(row, row);
        // Get table's column count.
        public int getColumnCount() {
            return columnNames.length;
        // Get a column's name.
        public String getColumnName(int col) {
            return columnNames[col];
        // Get a column's class.
        public Class getColumnClass(int col) {
            return columnClasses[col];
        // Get table's row count.
        public int getRowCount() {
            return downloadList.size();
        // Get value for a specific row and column combination.
        public Object getValueAt(int row, int col) {
            Download download = (Download) downloadList.get(row);
            switch (col) {
                case 0: // URL
                    return download.getUrl();
                case 1: // Size
                    int size = download.getSize();
                    return (size == -1) ? "" : Integer.toString(size);
                case 2: // Progress
                    return new Float(download.getProgress());
                case 3: // Status
                    return Download.STATUSES[download.getStatus()];
            return "";
      /* Update is called when a Download notifies its
         observers of any changes */
        public void update(Observable o, Object arg) {
            int index = downloadList.indexOf(o);
            // Fire table row update notification to table.
            fireTableRowsUpdated(index, index);
    /*__ProgressRenderer.java__*/
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.table.*;
    // This class renders a JProgressBar in a table cell.
    class ProgressRenderer extends JProgressBar
            implements TableCellRenderer {
        // Constructor for ProgressRenderer.
        public ProgressRenderer(int min, int max) {
            super(min, max);
      /* Returns this JProgressBar as the renderer
         for the given table cell. */
        public Component getTableCellRendererComponent(
                JTable table, Object value, boolean isSelected,
                boolean hasFocus, int row, int column) {
            // Set JProgressBar's percent complete value.
            setValue((int) ((Float) value).floatValue());
            return this;
    }

    Thank you for the quick reply! But the solution provided by you, it seems, has still not been able to address my issue. I ran the program at command prompt with your said parameters, but the download still gave an error in the App window.
    Also, is there some way of defining these parameters in the source code? I am keen in using NetBeans to run the program.
    Cheers!

  • How to set plain-text for outgoing messages?

    I just upgraded from a Pre "minus" to a Pre 2 with WebOS 2.1 . I now have mail recipients complaining that my messages are in HTML. How to I revert to plain-text for sending messages?
    Post relates to: Pre p100eww (Sprint)

    Hi jason ,
    For setting Heder text for your ALV table
    ip_confing type ref to CL_SALV_WD_CONFIG_TABLE.
    "set alv table header
      ip_config->if_salv_wd_table_settings~r_header->set_text( 'Test ALV Header functionality' ).
    first you have to hide the DDIC text and then try to set your own text .
    "modify columns
      LOOP AT lt_columns INTO ls_column.
        lr_column = ls_column-r_column.
        CASE ls_column-id.
          WHEN 'MANDT'.
            "hide this field
            lr_column->set_visible( cl_wd_abstr_table_column=>e_visible-none ).
           WHEN 'SEQNR'.
            "set header to different string
            lr_column->r_header->set_ddic_binding_field( if_salv_wd_c_column_settings=>ddic_bind_none )." use this line to hide ddic text
            lr_column->r_header->set_text( 'Position' ).     
        endcase.
      endloop.
    Regards
    Chinnaiya P

  • 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