How to add key listeners to jcombobox

i have been trying to add an key listener to jcombobox so that i can identify when an enter key is pressed.

You should use an ActionListener to handle the enter key. See the section from the Swing toturial on "Using Combo Boxes":
http://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html#listeners

Similar Messages

  • How to add key frames in CC

    I'm just trying out CC and can hardly get past get-go :-(
    I surfed for help for 45 minutes and found nothing useful.
    Sadly after telling people people for at least 15 years that Adobe has great products but the worst help files of probably any major company, it's still true.
    Adobe help still assumes that you know the answer that your looking for :-(  Whenever I surf for help I try anything before a URL marked Adobe.
    Anyway that's why I"m here ;-)
    I'm staring at the CC timeline and I wan't to fade in both picture and sound; so how do I add key frames?
    Thanks,
    Michael

    @Shooternz
    Firstly, I really do appreciate your help and thanks to it I now know how to add the key frames.
    But to give you an example of Adobe type help and to show that I'm not just being a grouch ;-)
    I followed your link which took me to - Premiere Pro / Adding, navigating, and setting keyframes.
    Great!
    But does the article start with "How to add key frames"? 
    No it doesn't :-(
    The article is presented in this order,
    View keyframes and graphs
    Move the current-time indicator to a keyframe
    Add, select, and delete keyframes
    Modify keyframe values
    Why?
    Why doesn't it start with Add, select, and delete keyframes which would be logical?
    Thanks to you I also managed to find http://helpx.adobe.com/pdf/premiere_pro_reference.pdf
    Michael

  • How to add key figuers before chracteristic

    Hi all,
    i would like to now if it is possible to add key figuers before chracteristics in a report.
    The report look like this (CH - characteristic, KF - key figure):
    CH1 CH2 CH3 CH4 CH5 KF1 KF2 KF3 KF4 KF5
    but it should look like this:
    CH1 CH2 KF1 KF2 KF3 CH3 CH4 CH5 KF4 KF5
    How can i make it without dividing it into more reports ?
    Thx for any help,
    regards Martin Zluky

    Thx all for answers.
    We are using BW 7.x so the 3.x thing not gonna work.
    Our customer made a report template and he wants that it should look excatly as he designed it.
    Sivaraja and Reddy A, i am quite newbie in BW so i dont know what you mean. Can you please explain it little bit more.  I think that on a query level there isn´t an option to switch between KF and CH columns, or am i worng?
    We are now thinking about a macro in excel. What do you think about that?
    Regards,
    Martin
    Edited by: Martin  Zluky on Feb 1, 2010 1:23 PM
    Edited by: Martin  Zluky on Feb 1, 2010 1:25 PM

  • Swing : How to add Key Stroke to JOptionPane

    I want add key stroke(ctrl+K) to JOptionPane, this should work all over application, where ever JOptionPane comes.
    Help me on this.

    Darryl Burke wrote:
    You haven't bothered to reply to camickr's response to your [url http://forums.oracle.com/forums/thread.jspa?threadID=2123891]earlier question. Maybe that's why nobody seems interested in responding to this one.
    db
    Yes, I'm thinking of boycotting people who don't change their user name from the default number assigned to them. It's too hard to distinguish each user now :)
    Its amazing how many new users don't take the time to learn how to use the forum and just start asking questions.

  • Urgent: How to add event listeners to a null object?

    I have an object that is lazy loaded, and therefore starts out null.
    How can I add an event listener onto this null object, so that it fires whenever the object is instantiated?
    WHY does arrayCollection.addEventListener(CollectionEvent.COLLECTION_CHANGED, function) not work??
    Thanks!
    C

    C,
    the answer to your question "WHY does arrayCollection.addEventListener(CollectionEvent.COLLECTION_CHANGED, function) not work??" is that addEventListener is not a static method, ie it has to be attached to an actual instance. I agree that in your situation it would be handy to have it as static, something like ArrayCollection.addEventListener(etc) but I'm not at all sure that is a good plan in general, as usually we want events to fire from an actual instance of the class, not generically. A quick look through the adobe docs has convinced me there are not many static methods at all, and none that appear to help you.
    I take it from your description that you don't know exactly when the collection is instantiated? But presumably though you do have a point where new is called? Or something equivalent like populating it from something else?
    Richard

  • How to add a new data element for existing table filed(Primary key field)

    Hi Experts,
    How to add a new data element for existing table field(Primary key field)
    For this filed ther is no foreign key relation ships and even check table.
    while activating table it is giving message like below.
    can you help any one to solve this and wil steps to add new dataelement for existing primary key filed of a table.
    Check table (NAMING SPACE/TABLE NAME(EX:/TC/VENDOR)) (username/19.02.10/03:29)           
    Primary key change not permitted for value table /TC/VENDOR
    Check on table  /TC/VENDOR resulted in errors              
    Thanks
    Ravi

    Hi,
    Easiest way is to download the table eg into an Excel table (if possible) or text table. Drop the table from the database. Build your table with the new key field. Build the database table again and fill it.
    You can do it also over the database into a new table. Drop the old one. Build the enhanced one and fill it. Afterwards drop your (temporary) table.
    Maybe there are other ways, but this works.
    Success,
    Rob

  • How to add License Key For Integration Tool kit For SAP in Linux Server

    Dear Experts,
    We are Using BO XI R3.1 SP3 Enterprise Version ,Integration Tool Kit For SAP,Live Office.
    The Server is Linux Server.
    But while generating reports in Infoview it is giving error like ""_check that you are licensed to access SAP Data Source_".
    So we came to know that license Key might Expire for Integraton Tool Kit For SAP in Bo Server.
    So can you tell me how to add the license key For BO XI R3.1 SP3 Integration Tool Kit For SAP in Linux Server.
    Thanks & Regards,
    Venkat

    On Unix / Linux you should be able to leverage the response from Raphael and change:
    Location=%BOBJDIR%/bobje/data/.bobj/registry/software/business objects/suite 11.5/sap/keycode/.registry
    For more information verify the below link
    [How do you update the SAP Integration Kit license?;
    Regrads
    Pardhu

  • How to add an app to a key combination

    How to add an app to a key combination

    You can do it with Automator, although it's harder than in Windows.
    Example:
    How to Launch Any App with a Keyboard Shortcut
    I like to press the Spotlight keyboard shortcut and then use type-ahead and Enter to launch. When Spotlight is open, if I start typing "wo" Microsoft Word will be highlighted and then I just press Enter to launch it.

  • How to add unit to calculated key figures in BEx

    How to add unit to BEx calculated key figures in SAP BW BEx?
    I would like to add a unit to a calculated key figure in SAP BW BEx, so that it gets visible on the end user level. Currently the unit field is empty. I calculated the value from various key figures with different units and removed the units with the NODIM()-function. Is there an inverse function to NODIM() with which you can add a specific unit (like EUR or TAG).
    The "How tou2026 Report Data in Alternate Units of Measure" does not seem to cover the point.
    "Quantity Conversion Guide for SAP Business Intelligence" refers to the "Conversion" tab.
    I suppose you have to add a conversion routine, which is 1:1 and sets the target unit defined in BEx.
    Has anyone tried this? Is there a more simple solution?
    OLAP-Quantity Conversion:
    http://help.sap.com/saphelp_nw70/helpdata/EN/27/b65c42b4e05542e10000000a1550b0/frameset.htm

    Hi,
    if your CKF will have always same unit and you have one KF in you inforpovider with this unit, you can try to do this trick
    create a new hidden CKF as new CKF = KF / KF (with this equale new CKF = 1 unit)
    change your old CKF as old CKF = old CKF * new CKF
    let me know if it works.

  • How to add a feild as key combination for existing condition table

    Hi all,
    please any body can inform me about how to add a feild as key combination for existing condition table ex 901 having the key combination of sales organisation and material
    for this cond. table,how  to add a new feild ex:price list
    iam unable to add it in change mode of v/03.(even after removing this 901 table from Acc.seq.)
    Edited by: rajendraprasad vasam on Apr 25, 2008 10:08 AM

    mr.Rajendra
         I you have the access key - you can copy the 901 table and create a new table along with your required field. v/03
    Or
    in the access sequence for the condition type - add 1 more step and add your field.
    ie 10 - 901
    and in 20 - your required field
    regards,
    Reshmi
    Edited by: reshmi bhaskar on Apr 25, 2008 10:21 AM

  • How to add JPanel in  JComboBox?

    Hi.
    How to add JPanel in JComboBox...?
    Regards
    Bilal

    I do not know much about Cardlayout.
    As far as I know, it is a layout which let you assign a serveral 'card' and exist together. By consider the order of the card, you could change the view of each page by using method- first, last, next etc. However, I would like to know what if I got a number of buttons, say A B C D E F, and having cards called a b c d e f,I know I could change from a to b, but what if I want to change from c to e by pressing the button E (assuming it showing the c card now).
    Actually, I was able to create the code now which adding one JPanel to another now. First create a JPanel with prefer size, min max size.
    then add a JPanel into the CENTER of the above JPanel, both using borderlayout.
    But having a little difficulties, could I add more JPanel into the CENTER such that one overlapping each other, by those Buttons, through action and event, hide those which I do not want to show?
    Like A B C buttons, a b c panels. When press A hide b c and show a, so on.
    Could I use method like movetofront(something like that, forgot detail which read in a book) to do this?
    Cheers

  • How do add listeners to AS class

    I have a singleton AS class that handles data. How do add listeners to it when My mxml files dispatch events
    I tried this:
        private function addActionListeners():void
                    systemManager.addEventListener(LogoutEvent.LOGOUT, clearData);
    but an AS class doesn't understand systemManager

    All my components use the VO actionscript class that extends UIComponent reference it like this:
    VO.getInstance()
    maybe I need to do something like this
    private var vo = VO.getInstance
    in order to geth the VO class to have a non null systemManager?
    package models
        import customevents.LogoutEvent;
        import mx.collections.ArrayCollection;
        import mx.core.UIComponent;
        public class VO extends UIComponent
                [Bindable]
            public var usersResult:ArrayCollection;
                private function addActionListeners():void
                    systemManager.addEventListener(LogoutEvent.LOGOUT, clearData);
                private function clearData():void
                    clearDataValues();
            public function VO(caller:Function=null)
                if (caller != VO.getInstance)
                    throw new Error("Singleton is a singleton class, use getInstance() instead");
                if (VO.instance != null)
                    throw new Error("Only one Singleton instance should be instantiated");
                addActionListeners();
            public static function getInstance():VO
                if (instance == null)
                    instance=new VO(arguments.callee);
                return instance;

  • How to add keyboard control key to menu bar as shown

    how to add keyboard control key to menu bar as shown bellow
    Please help

    why, nobody can give me any suggestion?!
    I want to know how to get the specific Control from the Line which does not has this kind of Control. Currently, I met this problem -- the line does not support EnumControl.Type.REVERB, however, I want to exert the reverb control to the line.
    please. thank you very much!

  • How to add a table(from TableRenderDemo) to a JFrame again

    Hello again:
    Thanks for stephen andrews's adivice, I follow your adivice to add code (it is in
    EventHandeler of DrawCalendar class, and they indicated by ???????????), but it still not work, please check for me why, Thanks.
    My problem
    Please run my coding first, and get some view from my coding.
    At the movement, I got a problem, I have not idea how to add a table(it is from TableRenderDemo) to JFrame when I click on the button(from DrawCalendar) of the numer 20, and I want the table disply under the buttons(from DrawCalendar).
    Please help me to solve this problem, thanks.
    *This program for add some buttons and a table on JFrame
    import java.awt.*;
    import javax.swing.*;public class TestMain extends JFrame{
    private static TableRenderDemo tRD;
    private static TestMain tM;
    protected static Container c;
    private static DrawCalendar dC;
    public static void main(String[] args){
    tM = new TestMain();
    tM.setVisible(true);
         public TestMain(){
         super(" Test");
         setSize(800,600);
    //set up layoutManager
    c=getContentPane();
    c.setLayout ( new GridLayout(3,1));
    tRD=new TableRenderDemo();
    dC=new DrawCalendar();
    addItems();//add Buttons to JFrame
    private void addItems(){
         c.add(dC); //add Buttons to JFrame
         //c.add(tRD); //add Table to JFrame     
    *This program for add some buttons to JPanel
    *and add listeners to each button
    *I want to display myTable under the buttons,
    *when I click on number 20, but why it doesn't
    *work, The coding for these part are indicated by ??????????????
    [import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.GridLayout;
    public class DrawCalendar extends JPanel {
         private static DrawCalendar dC;
         private static TestMain tM;
         private static TableRenderDemo myTable;
         private static GridLayout gL;
         private static final int nlen = 35;
        private static String names[] = new String[nlen];
    private static JButton buttons[] = new JButton[nlen];
         public DrawCalendar(){
              gL=new GridLayout(5,7,0,0);
              setLayout(gL);
              assignValues();
              addJButton();
              registerListener();
    //assign values to each button
         private void assignValues(){
              names = new String[35];
         for(int i = 0; i < names.length; i++)
         names[i] = Integer.toString(i + 1);
    //create buttons and add them to Jpanel
    private void addJButton(){
         buttons=new JButton[names.length];
         for (int i=0; i<names.length; i++){
         buttons=new JButton(names[i]);
         buttons[i].setBorder(null);
         buttons[i].setBackground(Color.white);
         buttons[i].setFont(new Font ("Palatino", 0,8));
    add(buttons[i]);
    //add listeners to each button
    private void registerListener(){
         for(int i=0; i<35; i++)
              buttons[i].addActionListener(new EventHandler());          
    //I want to display myTable under the buttons,
    //when I click on number 20, but why it doesn't
    //work
    private class EventHandler implements ActionListener{
         public void actionPerformed(ActionEvent e){
         for(int i=0; i<35; i++){
         if(i==20){                  //????????????????????
              tM=new TestMain(); //I want to display myTable under the buttons,
              tM.c.removeAll(); //when I click on number 20, but why it doesn't
              tM.c.add(dC); //work
              tM.c.add(myTable); //???????????????????????????????????????
              tM.validate();
         if(e.getSource()==buttons[i]){
         System.out.println("testing " + names[i]);
         break;
    *This program create a table with some data
    [import javax.swing.table.AbstractTableModel;
    import javax.swing.table.TableColumn;
    import javax.swing.DefaultCellEditor;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class TableRenderDemo extends JScrollPane {
        private boolean DEBUG = true;
        public TableRenderDemo() {
          //  super("TableRenderDemo");
            MyTableModel myModel = new MyTableModel();
            JTable table = new JTable(myModel);
            table.setPreferredScrollableViewportSize(new Dimension(700, 70));//500,70
             //Create the scroll pane and add the table to it.
             setViewportView(table);
            //Set up column sizes.
            initColumnSizes(table, myModel);
            //Fiddle with the Sport column's cell editors/renderers.
            setUpSportColumn(table.getColumnModel().getColumn(2));
    * This method picks good column sizes.
    * If all column heads are wider than the column's cells'
    * contents, then you can just use column.sizeWidthToFit().
    private void initColumnSizes(JTable table, MyTableModel model) {
    TableColumn column = null;
    Component comp = null;
    int headerWidth = 0;
    int cellWidth = 0;
    Object[] longValues = model.longValues;
    for (int i = 0; i < 5; i++) {
    column = table.getColumnModel().getColumn(i);
    try {
    comp = column.getHeaderRenderer().
    getTableCellRendererComponent(
    null, column.getHeaderValue(),
    false, false, 0, 0);
    headerWidth = comp.getPreferredSize().width;
    } catch (NullPointerException e) {
    System.err.println("Null pointer exception!");
    System.err.println(" getHeaderRenderer returns null in 1.3.");
    System.err.println(" The replacement is getDefaultRenderer.");
    comp = table.getDefaultRenderer(model.getColumnClass(i)).
    getTableCellRendererComponent(
    table, longValues[i],
    false, false, 0, i);
    cellWidth = comp.getPreferredSize().width;
    if (DEBUG) {
    System.out.println("Initializing width of column "
    + i + ". "
    + "headerWidth = " + headerWidth
    + "; cellWidth = " + cellWidth);
    //XXX: Before Swing 1.1 Beta 2, use setMinWidth instead.
    column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    public void setUpSportColumn(TableColumn sportColumn) {
    //Set up the editor for the sport cells.
    JComboBox comboBox = new JComboBox();
    comboBox.addItem("Snowboarding");
    comboBox.addItem("Rowing");
    comboBox.addItem("Chasing toddlers");
    comboBox.addItem("Speed reading");
    comboBox.addItem("Teaching high school");
    comboBox.addItem("None");
    sportColumn.setCellEditor(new DefaultCellEditor(comboBox));
    //Set up tool tips for the sport cells.
    DefaultTableCellRenderer renderer =
    new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for combo box");
    sportColumn.setCellRenderer(renderer);
    //Set up tool tip for the sport column header.
    TableCellRenderer headerRenderer = sportColumn.getHeaderRenderer();
    if (headerRenderer instanceof DefaultTableCellRenderer) {
    ((DefaultTableCellRenderer)headerRenderer).setToolTipText(
    "Click the sport to see a list of choices");
    class MyTableModel extends AbstractTableModel {
    final String[] columnNames = {"First Name",
    "Last Name",
    "Sport",
    "# of Years",
    "Vegetarian"};
    final Object[][] data = {
    {"Mary ", "Campione",
    "Snowboarding", new Integer(5), new Boolean(false)},
    {"Alison", "Huml",
    "Rowing", new Integer(3), new Boolean(true)},
    {"Kathy", "Walrath",
    "Chasing toddlers", new Integer(2), new Boolean(false)},
    {"Sharon", "Zakhour",
    "Speed reading", new Integer(20), new Boolean(true)},
    {"Angela", "Lih",
    "Teaching high school", new Integer(4), new Boolean(false)}
    public final Object[] longValues = {"Angela", "Andrews",
    "Teaching high school",
    new Integer(20), Boolean.TRUE};
    public int getColumnCount() {
    return columnNames.length;
    public int getRowCount() {
    return data.length;
    public String getColumnName(int col) {
    return columnNames[col];
    public Object getValueAt(int row, int col) {
    return data[row][col];
    * JTable uses this method to determine the default renderer/
    * editor for each cell. If we didn't implement this method,
    * then the last column would contain text ("true"/"false"),
    * rather than a check box.
    public Class getColumnClass(int c) {
    return getValueAt(0, c).getClass();
    * Don't need to implement this method unless your table's
    * editable.
    public boolean isCellEditable(int row, int col) {
    //Note that the data/cell address is constant,
    //no matter where the cell appears onscreen.
    if (col < 2) {
    return false;
    } else {
    return true;
    * Don't need to implement this method unless your table's
    * data can change.
    public void setValueAt(Object value, int row, int col) {
    if (DEBUG) {
    System.out.println("Setting value at " + row + "," + col
    + " to " + value
    + " (an instance of "
    + value.getClass() + ")");
    if (data[0][col] instanceof Integer
    && !(value instanceof Integer)) {
    //With JFC/Swing 1.1 and JDK 1.2, we need to create
    //an Integer from the value; otherwise, the column
    //switches to contain Strings. Starting with v 1.3,
    //the table automatically converts value to an Integer,
    //so you only need the code in the 'else' part of this
    //'if' block.
    try {
    data[row][col] = new Integer(value.toString());
    fireTableCellUpdated(row, col);
    } catch (NumberFormatException e) {
    JOptionPane.showMessageDialog(TableRenderDemo.this,
    "The \"" + getColumnName(col)
    + "\" column accepts only integer values.");
    } else {
    data[row][col] = value;
    fireTableCellUpdated(row, col);
    if (DEBUG) {
    System.out.println("New value of data:");
    printDebugData();
    private void printDebugData() {
    int numRows = getRowCount();
    int numCols = getColumnCount();
    for (int i=0; i < numRows; i++) {
    System.out.print(" row " + i + ":");
    for (int j=0; j < numCols; j++) {
    System.out.print(" " + data[i][j]);
    System.out.println();
    System.out.println("--------------------------");

    http://forum.java.sun.com/faq.jsp#format

  • How to add a table(from TableRenderDemo) to a JFrame?

    Hello:
    Please run my coding first, and get some idea what's going on for my coding.
    At the movement, I got a problem, I have not idea how to add a table(it is from TableRenderDemo) to JFrame when I click on the button(from DrawCalendar) of the numer 20, and I want the table disply under the buttons(from DrawCalendar).
    Please help me to solve this problem, thanks.
    /* this program for adding some Button to JPanel, and also adding some listeners to each button
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.GridLayout;
    public class DrawCalendar extends JPanel {
    private static DrawCalendar dC;
    private static GridLayout gL;
    private static Container c;
    private static String names[]={"1","2","3","4","5","6","7","8","9","10","11","12","13","14",
    "15","16","17","18","19","20","21","22","23","24","25","26",
    "27","28","29","30","31","32","33","34","35"};
    private static String num;
    private static JButton buttons[];
    public DrawCalendar(){
    gL=new GridLayout(5,7,0,0);
    setLayout(gL);
    addJButton(); //add buttons to Panel
    registerListener();//add Listener to buttons
    //add Buttons to JButtons and put the label for each button
    private void addJButton(){
    buttons=new JButton[names.length];
    for (int i=0; i<names.length; i++){
    buttons=new JButton(names);
    buttons.setBorder(null);
    buttons.setBackground(Color.white);
    buttons.setFont(new Font ("Palatino", 0,8));
    add(buttons);
    private void registerListener(){
    for(int i=0; i<35; i++)
    buttons.addActionListener(new EventHandler());//add EventHandler to each button
    private class EventHandler implements ActionListener{
    public void actionPerformed(ActionEvent e){
    for(int i=0; i<35; i++){
    if(e.getSource()==buttons){
    System.out.println("testing " + names);
    break;
    /*The program for adding a table to JPanel
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.TableColumn;
    import javax.swing.DefaultCellEditor;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.JScrollPane;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.SwingUtilities;
    import javax.swing.JOptionPane;
    import java.awt.*;
    import java.awt.event.*;
    public class TableRenderDemo extends JScrollPane {
    private boolean DEBUG = true;
    public TableRenderDemo() {
    // super("TableRenderDemo");
    MyTableModel myModel = new MyTableModel();
    JTable table = new JTable(myModel);
    table.setPreferredScrollableViewportSize(new Dimension(700, 70));//500,70
    //Create the scroll pane and add the table to it.
    //JScrollPane scrollPane = new JScrollPane(table);
    setViewportView(table);
    //Set up column sizes.
    initColumnSizes(table, myModel);
    //Fiddle with the Sport column's cell editors/renderers.
    setUpSportColumn(table.getColumnModel().getColumn(2));
    //Add the scroll pane to this window.
    //getContentPane().add(scrollPane, BorderLayout.CENTER);
    // addWindowListener(new WindowAdapter() {
    // public void windowClosing(WindowEvent e) {
    // System.exit(0);
    * This method picks good column sizes.
    * If all column heads are wider than the column's cells'
    * contents, then you can just use column.sizeWidthToFit().
    private void initColumnSizes(JTable table, MyTableModel model) {
    TableColumn column = null;
    Component comp = null;
    int headerWidth = 0;
    int cellWidth = 0;
    Object[] longValues = model.longValues;
    for (int i = 0; i < 5; i++) {
    column = table.getColumnModel().getColumn(i);
    try {
    comp = column.getHeaderRenderer().
    getTableCellRendererComponent(
    null, column.getHeaderValue(),
    false, false, 0, 0);
    headerWidth = comp.getPreferredSize().width;
    } catch (NullPointerException e) {
    System.err.println("Null pointer exception!");
    System.err.println(" getHeaderRenderer returns null in 1.3.");
    System.err.println(" The replacement is getDefaultRenderer.");
    comp = table.getDefaultRenderer(model.getColumnClass(i)).
    getTableCellRendererComponent(
    table, longValues,
    false, false, 0, i);
    cellWidth = comp.getPreferredSize().width;
    if (DEBUG) {
    System.out.println("Initializing width of column "
    + i + ". "
    + "headerWidth = " + headerWidth
    + "; cellWidth = " + cellWidth);
    //XXX: Before Swing 1.1 Beta 2, use setMinWidth instead.
    column.setPreferredWidth(Math.max(headerWidth, cellWidth));
    public void setUpSportColumn(TableColumn sportColumn) {
    //Set up the editor for the sport cells.
    JComboBox comboBox = new JComboBox();
    comboBox.addItem("Snowboarding");
    comboBox.addItem("Rowing");
    comboBox.addItem("Chasing toddlers");
    comboBox.addItem("Speed reading");
    comboBox.addItem("Teaching high school");
    comboBox.addItem("None");
    sportColumn.setCellEditor(new DefaultCellEditor(comboBox));
    //Set up tool tips for the sport cells.
    DefaultTableCellRenderer renderer =
    new DefaultTableCellRenderer();
    renderer.setToolTipText("Click for combo box");
    sportColumn.setCellRenderer(renderer);
    //Set up tool tip for the sport column header.
    TableCellRenderer headerRenderer = sportColumn.getHeaderRenderer();
    if (headerRenderer instanceof DefaultTableCellRenderer) {
    ((DefaultTableCellRenderer)headerRenderer).setToolTipText(
    "Click the sport to see a list of choices");
    class MyTableModel extends AbstractTableModel {
    final String[] columnNames = {"First Name",
    "Last Name",
    "Sport",
    "# of Years",
    "Vegetarian"};
    final Object[][] data = {
    {"Mary ", "Campione",
    "Snowboarding", new Integer(5), new Boolean(false)},
    {"Alison", "Huml",
    "Rowing", new Integer(3), new Boolean(true)},
    {"Kathy", "Walrath",
    "Chasing toddlers", new Integer(2), new Boolean(false)},
    {"Sharon", "Zakhour",
    "Speed reading", new Integer(20), new Boolean(true)},
    {"Angela", "Lih",
    "Teaching high school", new Integer(4), new Boolean(false)}
    public final Object[] longValues = {"Angela", "Andrews",
    "Teaching high school",
    new Integer(20), Boolean.TRUE};
    public int getColumnCount() {
    return columnNames.length;
    public int getRowCount() {
    return data.length;
    public String getColumnName(int col) {
    return columnNames[col];
    public Object getValueAt(int row, int col) {
    return data[row][col];
    * JTable uses this method to determine the default renderer/
    * editor for each cell. If we didn't implement this method,
    * then the last column would contain text ("true"/"false"),
    * rather than a check box.
    public Class getColumnClass(int c) {
    return getValueAt(0, c).getClass();
    * Don't need to implement this method unless your table's
    * editable.
    public boolean isCellEditable(int row, int col) {
    //Note that the data/cell address is constant,
    //no matter where the cell appears onscreen.
    if (col < 2) {
    return false;
    } else {
    return true;
    * Don't need to implement this method unless your table's
    * data can change.
    public void setValueAt(Object value, int row, int col) {
    if (DEBUG) {
    System.out.println("Setting value at " + row + "," + col
    + " to " + value
    + " (an instance of "
    + value.getClass() + ")");
    if (data[0][col] instanceof Integer
    && !(value instanceof Integer)) {
    //With JFC/Swing 1.1 and JDK 1.2, we need to create
    //an Integer from the value; otherwise, the column
    //switches to contain Strings. Starting with v 1.3,
    //the table automatically converts value to an Integer,
    //so you only need the code in the 'else' part of this
    //'if' block.
    try {
    data[row][col] = new Integer(value.toString());
    fireTableCellUpdated(row, col);
    } catch (NumberFormatException e) {
    JOptionPane.showMessageDialog(TableRenderDemo.this,
    "The \"" + getColumnName(col)
    + "\" column accepts only integer values.");
    } else {
    data[row][col] = value;
    fireTableCellUpdated(row, col);
    if (DEBUG) {
    System.out.println("New value of data:");
    printDebugData();
    private void printDebugData() {
    int numRows = getRowCount();
    int numCols = getColumnCount();
    for (int i=0; i < numRows; i++) {
    System.out.print(" row " + i + ":");
    for (int j=0; j < numCols; j++) {
    System.out.print(" " + data[j]);
    System.out.println();
    System.out.println("--------------------------");
    *This is a main progarm, it is for adding some buttons to Frame
    import java.awt.*;
    import javax.swing.*;
    public class TestMain extends JFrame{
    private static TableRenderDemo tRD;
    private static TestMain tM;
    private static Container c;
    private static DrawCalendar dC;
    public static void main(String[] args){
    tM = new TestMain();
    tM.setVisible(true);
    public TestMain(){
    super(" Test");
    setSize(800,600);
    //set up layoutManager
    c=getContentPane();
    c.setLayout ( new GridLayout(3,1));
    tRD=new TableRenderDemo();
    dC=new DrawCalendar();
    addItems();//add Buttons to JFrame
    private void addItems(){
    //c.add(dC); //add Buttons to JFrame
    c.add(tRD); //add Table to JFrame

    http://forum.java.sun.com/faq.jsp#format

Maybe you are looking for