public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
* Problem with AWT/Swing code
@ 2008-10-15 11:32 ffileppo
  0 siblings, 0 replies; only message in thread
From: ffileppo @ 2008-10-15 11:32 UTC (permalink / raw)
  To: java

Hi everyone,

I'm doing some testing with AWT/Swing applications compiled with gcj 4.4 (which is using classpath 0.97.2).

I'm having some troubles with the following code; it does not show
the JComponent inside the JFrame (I've tried both on x86 and arm).

This code runs fine if compiled with OpenJDK, so I guess that this issue is more related to gcj rather then classpath.

Any thoughts or ideas?

Thank you

Francesco

Code:

import java.awt.BorderLayout;

import javax.swing.DefaultListModel;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class MainPanel extends JPanel implements ListSelectionListener {

  static final int NUM_ROWS = 500;

  JList list;
  JLabel lblSelection;
  DefaultListModel listModel;

  int startRow = 0;
  long startTime = 0;

  Runnable r = new Runnable() {
    public void run() {
      long deltaTime = System.currentTimeMillis() - startTime;
      for (int i=startRow; i<NUM_ROWS; i++) {
        listModel.set(i, ""+deltaTime);
      }

      startRow++;
      startTime = System.currentTimeMillis();

      SwingUtilities.invokeLater(r);

    }
  };

  public MainPanel() {
    super(new BorderLayout());
    listModel = new DefaultListModel();
    for (int i=0; i<NUM_ROWS; i++) {
      listModel.addElement("Element "+i);
    }

    //Create the list and put it in a scroll pane.
    list = new JList(listModel);
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    list.setSelectedIndex(0);
    list.addListSelectionListener(this);
    list.setVisibleRowCount(5);

    JScrollPane listScrollPane = new JScrollPane(list);

    lblSelection = new JLabel(" ");

    add(lblSelection, BorderLayout.SOUTH);
    add(listScrollPane, BorderLayout.CENTER);

    // t.start();
    startTime = System.currentTimeMillis();
    SwingUtilities.invokeLater(r);
  }

  public void valueChanged(ListSelectionEvent e) {
    if (e.getValueIsAdjusting() == false) {
      if (list.getSelectedIndex() == -1) {
        //No selection
        lblSelection.setText("");
      } else {
        //Selection
        lblSelection.setText("Item selected: "+list.getSelectedIndex());
      }
    }
  }

  public static void main(String[] args) {
    //Create and set up the window.
    JFrame frame = new JFrame("TestUI #1");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Create and set up the content pane.
    JComponent newContentPane = new MainPanel();
    newContentPane.setOpaque(true); //content panes must be opaque
    frame.setContentPane(newContentPane);

    //Display the window.
    frame.setBounds(10, 10, 500, 400);
    frame.setVisible(true);
  }
}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-10-15 11:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-15 11:32 Problem with AWT/Swing code ffileppo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).