ACM Interactors Freeze
Я пытаюсь сделать очень простую программу с Swing и ACM-интеракторами. Он взят прямо из раздаточного материала, но не работает на моем компьютере. Когда я запускаю его, он работает нормально примерно полсекунды, затем кратковременно мигает, перезагружается, а затем все функции кнопок и текстовых полей теряются. Вот код:
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;
}
Если это поможет, я использую Java SE 1.6 с Eclipse Helios Service Release 2 на Mac Pro середины 2010 года под управлением Mac OSX 10.8.4.
1 ответ
Решение
В качестве обходного пути, в дополнение к использованию Java 1.5, добавьте поле к NORTH
, Кроме того, вы можете продлить GraphicsProgram
,
Модифицированный SSCCE:
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;
}