JTextField равняется другому JTextField - PullRequest
0 голосов
/ 30 марта 2011

Я упомянул в приведенном ниже коде то, что я ищу: около 17 строк снизу.

public void createHotTubs()  
{  
    hotTubs = new JPanel();  
    hotTubs.setLayout(null);  
    labelTubStatus = new JTextArea(6, 30);  
    hotTubs.add(labelTubStatus);  
    JLabel lengthLabel = new JLabel(  
            "Length of hot tub(ft):");  
    lengthLabel.setBounds(10, 15, 260, 20);  
    hotTubs.add(lengthLabel);  
    hotTubLengthText = new JTextField();  
    hotTubLengthText.setBounds(180, 15, 150, 20);  
    hotTubs.add(hotTubLengthText);  
    JLabel widthLabel = new JLabel(  
            "Width of hot tub(ft):");  
    widthLabel.setBounds(10, 40, 260, 20);  
    hotTubs.add(widthLabel);  
    hotTubWidthText = new JTextField();  
    hotTubWidthText.setBounds(180, 40, 150, 20);  
    hotTubs.add(hotTubWidthText);  
    JLabel depthLabel = new JLabel(  
            "Average depth the hot tub(ft):");  
    depthLabel.setBounds(10, 65, 260, 20);  
    hotTubs.add(depthLabel);  
    hotTubDepthText = new JTextField();  
    hotTubDepthText.setBounds(180, 65, 150, 20);  
    hotTubs.add(hotTubDepthText);  
    JLabel volumeLabel = new JLabel("The hot tub volume is:(ft ^3");  
    volumeLabel.setBounds(10, 110, 260, 20);  
    hotTubs.add(volumeLabel);  
    hotTubVolumeText = new JTextField();  
    hotTubVolumeText.setBounds(180, 110, 150, 20);  
    hotTubVolumeText.setEditable(false);  
    hotTubs.add(hotTubVolumeText);  
    final JRadioButton rdbtnRoundTub = new JRadioButton("Round Tub");  
    rdbtnRoundTub.addActionListener(new ActionListener()  
    {  
        public void actionPerformed(ActionEvent arg0)  
        {  
            hotTubWidthText.setEditable(false);  
        }  
    });  
    rdbtnRoundTub.setSelected(true);  
    rdbtnRoundTub.setBounds(79, 150, 109, 23);  
    hotTubs.add(rdbtnRoundTub);  
    JRadioButton rdbtnOvalTub = new JRadioButton("Oval Tub");  
    rdbtnOvalTub.addActionListener(new ActionListener()  
    {  
        public void actionPerformed(ActionEvent arg0)  
        {  
            hotTubWidthText.setEditable(true);  
        }  
    });  
    rdbtnOvalTub.setBounds(201, 150, 109, 23);  
    hotTubs.add(rdbtnOvalTub);  
    ButtonGroup radioBtnGroup = new ButtonGroup();  
    radioBtnGroup.add(rdbtnRoundTub);  
    radioBtnGroup.add(rdbtnOvalTub);  
    JButton btnCalculateVlmn = new JButton("Calculate Volume");  
    btnCalculateVlmn.addActionListener(new ActionListener()  
    {  
        public void actionPerformed(ActionEvent arg0)  
        {  
            double width = 0, length = 0, depth = 0, volume = 0;   
            String lengthString, widthString, depthString;   
            lengthString = hotTubLengthText.getText();   
            widthString = hotTubWidthText.getText();   
            depthString = hotTubDepthText.getText();   
            depth = Double.valueOf(depthString); 
            length = Double.valueOf(lengthString); 
            width = Double.valueOf(widthString);

            try 
            {  
                if (rdbtnRoundTub.isSelected())  
                {  
        /* THIS IS WHERE THE WIDTH FIELD NEEDS TO EQUAL THE LENGTH FIELD */ 
                    volume = length * width * depth;  
                }  
                else 
                {  
                    volume = Math.PI * length * width / 4 * depth;  
                }  
                DecimalFormat formatter = new DecimalFormat("#,###,###.###");  
                hotTubVolumeText.setText("" + formatter.format(volume));  
            }  
            catch (NumberFormatException e)  
            {  
                labelTubStatus  
                        .setText("Enter all three numbers!!");  
            }  
        }  
    }); 

After a user enters a number for the length it automatically enters it into the width field.

Ответы [ 3 ]

0 голосов
/ 30 марта 2011

Судя по вашим именам переменных, я думаю, вы хотите получить ширину и высоту у какого-то пользователя, в этом случае я бы сделал:

double width = Double.parseDouble(textField1.getText());
double height= Double.parseDouble(textField2.getText());

if(width == height){
  Bla bla ...
}
0 голосов
/ 30 марта 2011

Надеюсь, вы использовали Поля форматированного текста ?В этом случае вы можете сделать lengthField.setValue(widthField.getValue())

Но что, если пользователь затем введет что-то в поле длины?Какое поле «мастер»?Я бы предложил вместо отключения поля ширины, тогда вам не нужно ничего устанавливать.

0 голосов
/ 30 марта 2011

Если вы хотите сравнить содержимое:

textField1.getText().equals(textField2.getText());

для других сравнений, просто посмотрите на javadoc и getValueWhichYouAreInterestedIn ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...