Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

can't get jlist to view in table

843806May 30 2007 — edited May 30 2007
HI Everyone,
Im a newbie at java swing and I was attempting to put a jlist in a column however it is just showing me the position. Can anyone help on this, its fairly simple probably. I just been looking at this all day however, lol...

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;

public class TableRowColumn extends JFrame
{
private final static String LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
JTable table;
DefaultTableModel model;
JPanel buttonPanel;
JButton button;
Vector tmp=new Vector();
JList some=new JList();

public TableRowColumn()
{
// Create table
tmp=new Vector();

String[] sdata2={"stock1","stock2"};
//tmp.addElement(sdata2);
some=new JList(sdata2);

Object[][] data = { {"1",some }, {"2", "C"}, {"3", "D"} };
String[] columnNames = {"Number","Letter"};
model = new DefaultTableModel(data, columnNames);
table = new JTable(model);
table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

// Add table and a Button panel to the frame

JScrollPane scrollPane = new JScrollPane( table );
getContentPane().add( scrollPane );

buttonPanel = new JPanel();
getContentPane().add( buttonPanel, BorderLayout.SOUTH );

//

button = new JButton( "Add Row" );
buttonPanel.add( button );
button.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
model.addRow( createRow() );
int row = table.getRowCount() - 1;
table.changeSelection(row, 0, false, false);
table.requestFocusInWindow();
}
});

//

button = new JButton( "Insert Row" );
buttonPanel.add( button );
button.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
model.insertRow( 0, createRow() );
table.changeSelection(0, 0, false, false);
table.requestFocusInWindow();
}
});

//

button = new JButton( "Empty Row" );
buttonPanel.add( button );
button.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
model.setRowCount( model.getRowCount() + 1 );
int row = table.getRowCount() - 1;
table.changeSelection(row, 0, false, false);
table.requestFocusInWindow();
}
});
//
button = new JButton( "Add Column" );
buttonPanel.add( button );
button.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String header = "Col" + (table.getColumnCount() + 1);
model.addColumn( header );
table.requestFocusInWindow();
}
});
//
button = new JButton( "Add Column & Data" );
buttonPanel.add( button );
button.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String header = "Col" + (table.getColumnCount() + 1);

int rows = table.getRowCount();
String[] values = new String[rows];

for (int j = 0; j < rows; j++)
{
values[j] = Integer.toString(j);
}

model.addColumn( header, values );
table.requestFocusInWindow();
}
});
//
button = new JButton( "Add Column - No Reordering" );
buttonPanel.add( button );
button.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// Use this method when you don't want existing columns
// to be rebuilt from the model.
// (ie. moved columns will not be reordered)

table.setAutoCreateColumnsFromModel( false );
String header = "Col" + (table.getColumnCount() + 1);
model.addColumn( header );

// AutoCreate is turned off so create table column here

TableColumn column = new TableColumn( table.getColumnCount() );
column.setHeaderValue( header );
table.addColumn( column );

// These won't work once setAutoCreate... has been set to false
buttonPanel.getComponent(3).setEnabled( false );
buttonPanel.getComponent(4).setEnabled( false );
table.requestFocusInWindow();
}
});
//
button = new JButton( "Remove Last Column" );
buttonPanel.add( button );
button.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int columns = model.getColumnCount();

if (columns > 0)
{

if (!table.getAutoCreateColumnsFromModel())
{
int view =
table.convertColumnIndexToView(columns - 1);
TableColumn column =
table.getColumnModel().getColumn(view);
table.getColumnModel().removeColumn( column );
}

model.setColumnCount( columns - 1 );
}
table.requestFocusInWindow();
}
});

}

private Object[] createRow()
{
Object[] newRow = new Object[2];
int row = table.getRowCount() + 1;
newRow[0] = Integer.toString( row );
newRow[1] = LETTERS.substring(row-1, row);
return newRow;
}

public static void main(String[] args)
{
TableRowColumn frame = new TableRowColumn();
frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
frame.pack();
frame.setLocationRelativeTo( null );
frame.setVisible(true);

}
}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 27 2007
Added on May 30 2007
8 comments
170 views