【发布时间】:2015-11-10 08:50:57
【问题描述】:
在使用 MicroSoft JVM 运行我的 Applet 时,我遇到了一个奇怪的问题。我有一个带有 4 个文本字段的 AWT 面板,它被添加到一个对话框中。一切都很好,直到我在文本字段中输入一个十进制值并关闭对话框。当我重新打开对话框时,面板内带有所有小数位(在上一步中输入)的文本字段表现得很奇怪。十进制值与文本字段内的白色区域一起向左移动并隐藏数字。当我在文本字段内单击时,它变得正常。面板之前有 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);
..............
.........
}
【问题讨论】: