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;
}