Почему каждый раз, когда я нажимаю кнопку «Отправить» в моем коде, он продолжает давать мне почасовое значение строки? даже если элемент в моем JComboBox имеет текущее значение еженедельно? как бы это исправить?
код для моего ComputeWindow
public class ComputeWindow extends JFrame{
private JLabel payRate,employeeID,payType,gWage;
private JTextField empRate,idTxt,gWageTxt;
private JComboBox rateChooser;
private JPanel panel;
private JButton generate;
public ComputeWindow(){
super("Gross Wage");
setSize(300, 150);
setLocationRelativeTo(null);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
String[] employeeType = {"Hourly","Bi Weekly","Weekly","Base"};
employeeID = new JLabel("Employee ID: ");
payRate = new JLabel("Employee Rate: ");
payType = new JLabel("Pay Type: ");
gWage = new JLabel("Gross Wage");
empRate = new JTextField(10);
idTxt = new JTextField(10);
gWageTxt = new JTextField(10);
generate = new JButton("Compute!");
rateChooser = new JComboBox(employeeType);
panel = new JPanel(new GridLayout(5,1));
panel.add(employeeID);
panel.add(idTxt);
panel.add(payRate);
panel.add(empRate);
panel.add(payType);
panel.add(rateChooser);
panel.add(gWage);
panel.add(gWageTxt);
panel.add(generate);
add(panel, BorderLayout.CENTER);
String Option =(String)rateChooser.getSelectedItem();
GenerateHandler generateHandler = new GenerateHandler();
generate.addActionListener(generateHandler);
generateHandler.setOption(Option);
}
}
и для обработчика здесь это
private class GenerateHandler implements ActionListener{
String option;
public void setOption(String option){
this.option = option;
}
public void actionPerformed(ActionEvent e) {
if(option =="Hourly"){
JOptionPane.showMessageDialog(null,option);
}else if(option == "Weekly"){
JOptionPane.showMessageDialog(null,option);
}
}
}
}
есть предложения? на как бы это исправить? или он вернет или покажет мне текущее значение, которое используется в моем JComboBox?