Article View: es.comp.lenguajes.java
Article #18051Re: JComboBox en JTable
From: Arturo Rodriguez
Date: Wed, 27 Sep 2000 00:00
Date: Wed, 27 Sep 2000 00:00
329 lines
12232 bytes
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-mailReferences:
<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