Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #4544
| From | "John B. Matthews" <john.b..matthews@THRWHITE.remove-dii-this> |
|---|---|
| Subject | Re: Displaying the conten |
| Message-ID | <nospam-CAEBB8.10043931012009@feeder.motzarella.org> (permalink) |
| Newsgroups | comp.lang.java.gui |
| References | <_MXgl.6799$NV1.2868@newsfe01.ams2> |
| Date | 2011-04-27 15:51 +0000 |
| Organization | TDS.net |
To: comp.lang.java.gui
In article <_MXgl.6799$NV1.2868@newsfe01.ams2>,
"Jeremy Watts" <rturytr@jhfhgfd.com> wrote:
> I've added this 'change listener' now to the code, but it seems to
> act very slowly, and sometimes doesn't act at all...
>
> For instance I'll make an entry in one of the cells, and then press
> Enter, some 10- 20 seconds later then the change is seemingly
> registered. Any idea why?
I can't reproduce this. I don't think you want a change listener on the
declare button; you only care when it's clicked. You can validate
entries in the button's action handler. You may also want to study the
examples in the tutorial, particularly regarding TableModel:
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html
Are your entries really Strings? Here's a simplified variation on your
code to try:
<code>
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
public class TestTable {
private static final int ROW_COUNT = 4;
private static final int COL_COUNT = 5;
private final String[][] result = new String[ROW_COUNT][COL_COUNT];
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new TestTable().createGUI();
}
});
}
public void createGUI() {
int rowHeight = 25;
JFrame frame = new JFrame("Define your ["
+ ROW_COUNT + ", " + COL_COUNT + "]" + " matrix");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new FlowLayout());
JButton declare = new JButton("Declare it");
bottomPanel.add(declare);
frame.add(bottomPanel, BorderLayout.SOUTH);
final JTable table = new JTable(ROW_COUNT, COL_COUNT);
table.setBackground(Color.lightGray);
table.setSelectionBackground(Color.pink);
table.setRowHeight(rowHeight);
declare.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
for (int col = 0; col < table.getColumnCount(); col++) {
for (int row = 0; row < table.getRowCount(); row++) {
String s = (String) table.getValueAt(row, col);
result[row][col] = s;
System.out.print(s + " ");
}
System.out.println();
}
}
});
frame.add(table);
frame.setLocation(50, 50);
frame.pack();
frame.setVisible(true);
}
}
</code>
--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
Back to comp.lang.java.gui | Previous | Next — Previous in thread | Find similar
Re: Displaying the conten "Jeremy Watts" <jeremy.watts@THRWHITE.remove-dii-this> - 2011-04-27 15:51 +0000 Re: Displaying the conten "John B. Matthews" <john.b..matthews@THRWHITE.remove-dii-this> - 2011-04-27 15:51 +0000
csiph-web