0

我正在尝试在 LWUIT 中制作一个单位转换器,并且正在使用两个组合框。

该应用程序基本上将在一个组合框中选择的单位转换为在另一个组合框中选择的单位。

http://www.unit-conversion.info/length.html#data

它就像这个在线转换器一样工作。

我已经成功了,但是我遇到了关于组合框的问题。

当我在组合框上选择一个项目,然后在另一个组合框中选择一个项目时,前一个组合框的选择会丢失。

因此,即使我想要修复我的一个单元,我也必须一次又一次地选择组合框。

我希望我的应用程序像这个在线单位转换器一样工作,其中一旦做出的选择是固定的,直到做出另一个选择。

那么有什么方法可以保留您的选择,直到您没有手动更改它?

由于我的评分低,我无法上传任何图片,并且提供代码将毫无用处,因为它太长而且大部分情况下都可以正常工作。

请我需要帮助,任何信息都会非常有帮助。

            Form b = new Form();
            String content = {"contents here for combobox 1"};
            String content2 = {"contents here for combobox 2"};
            TextArea value1 = new TextArea();
            value1.setConstraint(TextArea.DECIMAL)
        TextArea value2 = new TextArea();
            value2.setEditable(false);
            final ComboBox V2 = new ComboBox(content2);
            V2.setListCellRenderer(new checkBoxRenderer1());

            final ComboBox V1 = new ComboBox(content);
            V1.setListCellRenderer(new checkBoxRenderer());


            V1.addActionListener(new ActionListener()
             {
              public void actionPerformed(ActionEvent evt)
               {
             int a = V1.getSelectedIndex();
                 switch(a){
                  case 0:
                         int v2sel = V2.getSelectedIndex();
                         switch(v2sel){
                                       case 0 :
                                   double d1 ;                    
                                   value2.setText(value1.getText());
                                   break;
                                       case 1 :
                                       d1 = Double.parseDouble(value1.getText());
                                       d1 = d1 * 0.1;
                                   value2.setText(Double.toString(d1));
                                   break;
                                       case 2 :
                                   d1 = Double.parseDouble(value1.getText());
                                       d1 = d1 * 1.0e-5;
                                   value2.setText(Double.toString(d1));
                                   break;
                                       // multiple case statements
                                  }
                             //multiple case statements 
                                }
                            });


             b.addComponent(V1);

                 b.addComponent(value1);


             b.addComponent(V2);
             b.addComponent(value2);

             b.addComponent(Bexit);
                     b.show();

                     // End
4

1 回答 1

1

您是否为两个组合框设置了相同的模型实例?

模型也控制选择,所以这显然行不通。

于 2013-06-22T17:14:19.407 回答