🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #18051

Re: JComboBox en JTable

#18051
From: Arturo Rodriguez
Date: Wed, 27 Sep 2000 00:00
329 lines
12232 bytes
This is a multi-part message in MIME format.
--------------3D44E185FD55FB0338882BBE
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Victoria wrote:
> 
> Hola a todos,
> 
> estoy escribiendo un programa en VisualCafe con Swing. Necesito saber como
> puedo meter en una tabla (Jtable) una columna JComboBox o cualquien otro
> componente. Os agradecer�a que me pusierais un ejemplo sencillo.
> 
> Gracias por adelantado.
Hola Victoria:

En el attachment hay un ejemplo muy sencillo de un JComboBox dentro de
un JTable.
Esta echo utilizando Forte, por eso lleva un .form.

Tienes mas informacion en >
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
 en el parrafo "Using a Combo Box as an Editor".

Espero que te sirva de ayuda.
-- 
----------------------------------------------------------------------
Arturo Rodriguez                    Cadence Design Systems (Ireland),
Software Engineer                   East Point Business Park,
Phone  +353 1 805 4317              Fairview, Dublin 3,
FAX    +353 1 805 4310              Ireland
--------------3D44E185FD55FB0338882BBE
Content-Type: text/plain; charset=us-ascii;
 name="Ejemplo.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="Ejemplo.java"

/*
 * Ejemplo.java
 *
 * Created on September 27, 2000, 4:06 PM
 */
 


/** 
 *
 * @author  arturo
 * @version 
 */

import javax.swing.*;
import javax.swing.table.TableColumn;

public class Ejemplo extends java.awt.Frame {

  /** Creates new form Ejemplo */
  public Ejemplo() {
    initComponents ();
    cargarComboBox();
    pack ();
  }

  /** This method is called from within the constructor to
   * initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is
   * always regenerated by the FormEditor.
   */
  private void initComponents () {//GEN-BEGIN:initComponents
    miTabla = new javax.swing.JTable ();
    jPanel1 = new javax.swing.JPanel ();
    jPanel2 = new javax.swing.JPanel ();
    jPanel3 = new javax.swing.JPanel ();
    jPanel4 = new javax.swing.JPanel ();
    setTitle ("ComboBox + Tabla");
    addWindowListener (new java.awt.event.WindowAdapter () {
      public void windowClosing (java.awt.event.WindowEvent evt) {
        exitForm (evt);
      }
    }
    );

    miTabla.setModel (new javax.swing.table.DefaultTableModel (
    new Object [][] {
    {null},
    {null},
    {null},
    {null}
    },
    new String [] {
      "Title 1"
    }
    ) {
      Class[] types = new Class [] {
        java.lang.Object.class
      };

      public Class getColumnClass (int columnIndex) {
        return types [columnIndex];
      }
    });


    add (miTabla, java.awt.BorderLayout.CENTER);

    jPanel1.setPreferredSize (new java.awt.Dimension(20, 80));


    add (jPanel1, java.awt.BorderLayout.WEST);

    jPanel2.setLayout (new java.awt.FlowLayout (1, 15, 5));
    jPanel2.setPreferredSize (new java.awt.Dimension(30, 20));


    add (jPanel2, java.awt.BorderLayout.NORTH);

    jPanel3.setLayout (new java.awt.FlowLayout (1, 15, 15));
    jPanel3.setPreferredSize (new java.awt.Dimension(20, 80));


    add (jPanel3, java.awt.BorderLayout.EAST);

    jPanel4.setLayout (new java.awt.FlowLayout (0, 15, 15));
    jPanel4.setPreferredSize (new java.awt.Dimension(30, 20));


    add (jPanel4, java.awt.BorderLayout.SOUTH);

  }//GEN-END:initComponents

  /** Exit the Application */
  private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm
    System.exit (0);
  }//GEN-LAST:event_exitForm

  
  private void cargarComboBox() {
    TableColumn miColumna = miTabla.getColumnModel().getColumn(0
);
    JComboBox miComboBox = new JComboBox();
    for (int k=0; k<5; k++)
    {
      miComboBox.addItem("Numero " + k);
    }
    miColumna.setCellEditor(new DefaultCellEditor(miComboBox));
  }
  
  /**
  * @param args the command line arguments
  */
  public static void main (String args[]) {
    new Ejemplo ().show ();
  }


  // Variables declaration - do not modify//GEN-BEGIN:variables
  private javax.swing.JTable miTabla;
  private javax.swing.JPanel jPanel1;
  private javax.swing.JPanel jPanel2;
  private javax.swing.JPanel jPanel3;
  private javax.swing.JPanel jPanel4;
  // End of variables declaration//GEN-END:variables

}
--------------3D44E185FD55FB0338882BBE
Content-Type: text/plain; charset=iso-8859-1;
 name="Ejemplo.form"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
 filename="Ejemplo.form"

<?xml version=3D"1.0" encoding=3D"ISO-8859-1" ?>

<Form version=3D"1.0" type=3D"com.netbeans.developer.modules.loaders.form=
=2Eforminfo.FrameFormInfo">
  <Properties>
    <Property name=3D"title" type=3D"java.lang.String" editor=3D"com.netb=
eans.developer.editors.StringEditor" value=3D"ComboBox + Tabla"/>
  </Properties>
  <SyntheticProperties>
    <SyntheticProperty name=3D"menuBar" type=3D"java.lang.String" value=3D=
"(No Menu)"/>
    <SyntheticProperty name=3D"formSize" type=3D"java.awt.Dimension" valu=
e=3D"-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,1=
01,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,=
105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,0,-56,0,0,1,44"/>
    <SyntheticProperty name=3D"formPosition" type=3D"java.awt.Point" valu=
e=3D"-84,-19,0,5,115,114,0,14,106,97,118,97,46,97,119,116,46,80,111,105,1=
10,116,-74,-60,-118,114,52,126,-56,38,2,0,2,73,0,1,120,73,0,1,121,120,112=
,0,0,0,0,0,0,0,0"/>
    <SyntheticProperty name=3D"formSizePolicy" type=3D"int" value=3D"2"/>=

    <SyntheticProperty name=3D"generatePosition" type=3D"boolean" value=3D=
"true"/>
    <SyntheticProperty name=3D"generateSize" type=3D"boolean" value=3D"tr=
ue"/>
    <SyntheticProperty name=3D"generateCenter" type=3D"boolean" value=3D"=
true"/>
    <SyntheticProperty name=3D"encoding" type=3D"java.lang.String" value=3D=
"ISO-8859-1"/>
  </SyntheticProperties>

  <Events>
    <EventHandler event=3D"windowClosing" handler=3D"exitForm"/>
  </Events>

  <Layout class=3D"com.netbeans.developerx.loaders.form.formeditor.layout=
s.DesignBorderLayout"/>
  <SubComponents>
    <Component class=3D"javax.swing.JTable" name=3D"miTabla">
      <Properties>
        <Property name=3D"model" type=3D"javax.swing.table.TableModel" ed=
itor=3D"com.netbeans.developer.editors.TableModelEditor">
          <SerializedValue value=3D"-84,-19,0,5,115,114,0,60,99,111,109,4=
6,110,101,116,98,101,97,110,115,46,100,101,118,101,108,111,112,101,114,46=
,101,100,105,116,111,114,115,46,84,97,98,108,101,77,111,100,101,108,69,10=
0,105,116,111,114,36,78,98,84,97,98,108,101,77,111,100,101,108,-95,8,-65,=
-35,21,111,108,-106,12,0,0,120,114,0,36,106,97,118,97,120,46,115,119,105,=
110,103,46,116,97,98,108,101,46,65,98,115,116,114,97,99,116,84,97,98,108,=
101,77,111,100,101,108,-83,-41,-21,125,-105,-50,-22,5,2,0,1,76,0,12,108,1=
05,115,116,101,110,101,114,76,105,115,116,116,0,37,76,106,97,118,97,120,4=
7,115,119,105,110,103,47,101,118,101,110,116,47,69,118,101,110,116,76,105=
,115,116,101,110,101,114,76,105,115,116,59,120,112,119,8,0,0,0,4,0,0,0,1,=
117,114,0,19,91,76,106,97,118,97,46,108,97,110,103,46,83,116,114,105,110,=
103,59,-83,-46,86,-25,-23,29,123,71,2,0,0,120,112,0,0,0,1,116,0,7,84,105,=
116,108,101,32,49,117,114,0,2,91,90,87,-113,32,57,20,-72,93,-30,2,0,0,120=
,112,0,0,0,1,1,116,0,16,106,97,118,97,46,108,97,110,103,46,79,98,106,101,=
99,116,112,112,112,112,120"/>
        </Property>
      </Properties>
      <Constraints>
        <Constraint layoutClass=3D"com.netbeans.developerx.loaders.form.f=
ormeditor.layouts.DesignBorderLayout" value=3D"com.netbeans.developerx.lo=
aders.form.formeditor.layouts.DesignBorderLayout$BorderConstraintsDescrip=
tion">
          <BorderConstraints direction=3D"Center"/>
        </Constraint>
      </Constraints>
    </Component>
    <Container class=3D"javax.swing.JPanel" name=3D"jPanel1">
      <Properties>
        <Property name=3D"preferredSize" type=3D"java.awt.Dimension" edit=
or=3D"com.netbeans.developer.editors.DimensionEditor">
          <Dimension value=3D"[20, 80]"/>
        </Property>
      </Properties>
      <Constraints>
        <Constraint layoutClass=3D"com.netbeans.developerx.loaders.form.f=
ormeditor.layouts.DesignBorderLayout" value=3D"com.netbeans.developerx.lo=
aders.form.formeditor.layouts.DesignBorderLayout$BorderConstraintsDescrip=
tion">
          <BorderConstraints direction=3D"West"/>
        </Constraint>
      </Constraints>

      <Layout class=3D"com.netbeans.developerx.loaders.form.formeditor.la=
youts.DesignFlowLayout"/>
    </Container>
    <Container class=3D"javax.swing.JPanel" name=3D"jPanel2">
      <Properties>
        <Property name=3D"preferredSize" type=3D"java.awt.Dimension" edit=
or=3D"com.netbeans.developer.editors.DimensionEditor">
          <Dimension value=3D"[30, 20]"/>
        </Property>
      </Properties>
      <Constraints>
        <Constraint layoutClass=3D"com.netbeans.developerx.loaders.form.f=
ormeditor.layouts.DesignBorderLayout" value=3D"com.netbeans.developerx.lo=
aders.form.formeditor.layouts.DesignBorderLayout$BorderConstraintsDescrip=
tion">
          <BorderConstraints direction=3D"North"/>
        </Constraint>
      </Constraints>

      <Layout class=3D"com.netbeans.developerx.loaders.form.formeditor.la=
youts.DesignFlowLayout">
        <Property name=3D"horizontalGap" type=3D"int" value=3D"15"/>
      </Layout>
    </Container>
    <Container class=3D"javax.swing.JPanel" name=3D"jPanel3">
      <Properties>
        <Property name=3D"preferredSize" type=3D"java.awt.Dimension" edit=
or=3D"com.netbeans.developer.editors.DimensionEditor">
          <Dimension value=3D"[20, 80]"/>
        </Property>
      </Properties>
      <Constraints>
        <Constraint layoutClass=3D"com.netbeans.developerx.loaders.form.f=
ormeditor.layouts.DesignBorderLayout" value=3D"com.netbeans.developerx.lo=
aders.form.formeditor.layouts.DesignBorderLayout$BorderConstraintsDescrip=
tion">
          <BorderConstraints direction=3D"East"/>
        </Constraint>
      </Constraints>

      <Layout class=3D"com.netbeans.developerx.loaders.form.formeditor.la=
youts.DesignFlowLayout">
        <Property name=3D"horizontalGap" type=3D"int" value=3D"15"/>
        <Property name=3D"verticalGap" type=3D"int" value=3D"15"/>
      </Layout>
    </Container>
    <Container class=3D"javax.swing.JPanel" name=3D"jPanel4">
      <Properties>
        <Property name=3D"preferredSize" type=3D"java.awt.Dimension" edit=
or=3D"com.netbeans.developer.editors.DimensionEditor">
          <Dimension value=3D"[30, 20]"/>
        </Property>
      </Properties>
      <Constraints>
        <Constraint layoutClass=3D"com.netbeans.developerx.loaders.form.f=
ormeditor.layouts.DesignBorderLayout" value=3D"com.netbeans.developerx.lo=
aders.form.formeditor.layouts.DesignBorderLayout$BorderConstraintsDescrip=
tion">
          <BorderConstraints direction=3D"South"/>
        </Constraint>
      </Constraints>

      <Layout class=3D"com.netbeans.developerx.loaders.form.formeditor.la=
youts.DesignFlowLayout">
        <Property name=3D"alignment" type=3D"int" value=3D"0"/>
        <Property name=3D"horizontalGap" type=3D"int" value=3D"15"/>
        <Property name=3D"verticalGap" type=3D"int" value=3D"15"/>
      </Layout>
    </Container>
  </SubComponents>
</Form>

--------------3D44E185FD55FB0338882BBE--
Technical Details
Message-ID: <39D2139E.50B25E91@cadence.com>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <8qqim8$nfg$1@diana.bcn.ttd.net>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,66bc3dd882605c82
X-Google-Attributes: gid1116f3,public
From: Arturo Rodriguez <arturo@cadence.com>
Subject: Re: JComboBox en JTable
Date: 2000/09/27
Message-ID: <39D2139E.50B25E91@cadence.com>
X-Deja-AN: 674737283
References: <8qqim8$nfg$1@diana.bcn.ttd.net>
X-Accept-Language: en
Content-Type: multipart/mixed; boundary="------------3D44E185FD55FB0338882BBE"
Organization: Cadence Design Systems
Mime-Version: 1.0
Newsgroups: es.comp.lenguajes.java