Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.gui > #4544

Re: Displaying the conten

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

Show all headers | View raw


  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 | NextPrevious in thread | Find similar


Thread

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