[英]AWT Textfield behaves weird with MicroSoft JVM
使用MicroSoft JVM運行Applet時,我遇到一個奇怪的問題。 我有一個帶有4個文本字段的AWT面板,該面板已添加到對話框中。 一切正常,直到我在文本字段中輸入十進制值並關閉對話框。 當我重新打開對話框時,面板中帶有所有十進制數字的文本字段(在上一步中輸入)表現得很奇怪。 十進制值以及文本字段內的WHITE區域向左移動並隱藏數字。 當我在文本字段內單擊時,它變為正常。 小組先前有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);
..............
.........
}
我想出了解決這個問題的方法。 單擊“確定”后,將文本字段光標位置設置為0(零)似乎可以解決此問題。 這是代碼...
symbolField.setCaretPosition(0);
qtyField.setCaretPosition(0);
costField.setCaretPosition(0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.