Я столкнулся со странной проблемой при использовании MicroSoft JVM для запуска моего апплета. У меня есть панель AWT с 4 текстовыми полями, которая добавляется в диалоговое окно. Все идет хорошо, пока я не введу десятичное значение в текстовое поле и не закрою диалоговое окно. Когда я снова открываю диалоговое окно, текстовое поле внутри панели со всеми десятичными цифрами (введенными на предыдущем шаге) ведет себя странно. Десятичные значения вместе с областью WHITE внутри текстового поля перемещаются влево и скрывают цифры. Когда я нажимаю внутри текстового поля, оно становится нормальным. У Panel ранее было gridlayout, и я даже попытался изменить его на gridbaylayout, и проблема все еще сохраняется.
ПРИМЕЧАНИЕ: все разработки относятся к JRE1.1 для совместимости с MS JVM
Если кто-нибудь может мне помочь с этим, это было бы очень полезно. Заранее спасибо.
public MyPanel(Dialog myDialog)
{
Panel panel = new Panel();
this.dialog = myDialog;
//Previous code with grid layout
/* panel.setLayout(new GridLayout2(4,2,2,2));
panel.add(new Label("Symbol:"));
panel.add(symbolField = new TextField("",20));
panel.add(new Label("Quantity:"));
panel.add( qtyField = new TextField());
panel.add(new Label("Price per Share:"));
panel.add( costField = new TextField());
panel.add(new Label("Date Acquired:"));
panel.add( purchaseDate = new TextField() );*/
GridBagLayout gridbag = new GridBagLayout();
System.out.println("######## Created New GridBagLayout");
GridBagConstraints constraints = new GridBagConstraints();
panel.setLayout( gridbag );
constraints = buildConstraints( constraints, 0, 0, 1, 1, 1.5, 1 );
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add( new Label("Symbol:"), constraints);
constraints = buildConstraints( constraints, 1, 0, 1, 1, 1.5, 1 );
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add( symbolField = new TextField("",20), constraints);
constraints = buildConstraints( constraints, 0, 1, 1, 1, 1.5, 1 );
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add( new Label("Quantity:"), constraints);
constraints = buildConstraints( constraints, 1, 1, 1, 1, 1.5, 1 );
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add( qtyField = new TextField(), constraints);
constraints = buildConstraints( constraints, 0, 2, 1, 1, 1.5, 1 );
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add( new Label("Price per Share:"), constraints);
constraints = buildConstraints( constraints, 1, 2, 1, 1, 1.5, 1 );
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add( costField = new TextField(), constraints);
constraints = buildConstraints( constraints, 0, 3, 1, 1, 1.5, 1 );
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add( new Label("Date Acquired:"), constraints);
constraints = buildConstraints( constraints, 1, 3, 1, 1, 1.5, 1 );
constraints.anchor = GridBagConstraints.WEST;
constraints.fill = GridBagConstraints.HORIZONTAL;
panel.add( purchaseDate = new TextField(), constraints);
..............
.........
}