java swing acm-java-libraries

java - ACM Interactors Freeze



swing acm-java-libraries (1)

Estoy tratando de hacer un programa muy simple con interactores Swing y ACM. Se toma directamente de un folleto de clase, pero no funciona en mi computadora. Cuando lo ejecuto, funciona bien durante aproximadamente medio segundo, luego parpadea brevemente, vuelve a cargar y luego se pierden todas las funciones de los botones y campos de texto. Aquí está el código:

import acm.program.*; import java.awt.event.*; import javax.swing.*; public class TextFieldExample extends ConsoleProgram { public void init() { nameField = new JTextField(15); add(new JLabel("Name: "), SOUTH); add(nameField, SOUTH); nameField.addActionListener(this); } public void actionPerformed(ActionEvent e) { if (e.getSource() == nameField) { println("Hello, " + nameField.getText()); } } private JTextField nameField; }

Si ayuda, estoy usando Java SE 1.6 con Eclipse Helios Service Release 2 en una Mac Pro de mediados de 2010 con Mac OSX 10.8.4


Como solución alternativa, además de usar Java 1.5 , agregue el campo al NORTH . Además, es posible que desee extender GraphicsProgram .

SSCCE modificado:

import acm.program.*; import java.awt.event.*; import javax.swing.*; public class TextFieldExample extends GraphicsProgram { @Override public void init() { nameField = new JTextField(15); add(new JLabel("Name: "), NORTH); add(nameField, NORTH); nameField.addActionListener(this); } @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == nameField) { println("Hello, " + nameField.getText()); } } private JTextField nameField; }