Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用两个滑块生成两个数字相加的Java程序_Java_Swing_Sliders - Fatal编程技术网

用两个滑块生成两个数字相加的Java程序

用两个滑块生成两个数字相加的Java程序,java,swing,sliders,Java,Swing,Sliders,我有一个java类的作业,我必须使用滑块添加两个数字,我真的被卡住了。这是我的密码: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class slideCalculator { JButton add,subtract; JSlider num1st,num2nd; JLabel answer;

我有一个java类的作业,我必须使用滑块添加两个数字,我真的被卡住了。这是我的密码:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; 
import javax.swing.*;

public class slideCalculator {
JButton add,subtract;
JSlider num1st,num2nd;
JLabel answer;
public slideCalculator(){
    JFrame calc = new JFrame("Mediocre Calculator");
    num1st = new JSlider (0, 100, 0);
    num1st.setMajorTickSpacing (10);
    num1st.setMinorTickSpacing (5);
    num2nd = new JSlider (0, 100, 0);
    num2nd.setMajorTickSpacing (10);
    num2nd.setMinorTickSpacing (5);
    add = new JButton("+");
    subtract = new JButton("-");
    answer = new JLabel("");
    calc.setDefaultCloseOperation(calc.EXIT_ON_CLOSE);
    calc.setVisible(true);
    calc.setBounds(500, 200, 290, 210);
    calc.setLayout(new GridLayout(0,2,1,1));
    calc.add(new JLabel("First Number: "));
    calc.add(num1st);
    calc.add(new JLabel("Second Number: "));
    calc.add(num2nd);
    calc.add(new JLabel("Answer: "));
    calc.add(answer);
    calc.add(add);
    calc.add(subtract);
    add.addActionListener(new action());
    subtract.addActionListener(new action());

}
public static void main(String[] args) {
    slideCalculator lc = new slideCalculator();
}
public class action implements ActionListener {
    public void actionPerformed(ActionEvent ae) {
        int firstNum = Integer.parseInt(num1st.getValue());
        int secondNum = Integer.parseInt(num2nd.getValue());
        if(ae.getValue()== add){
            answer.setText(String.valueOf(firstNum+secondNum));
        }
        else if (ae.getValue()==subtract){
            answer.setText(String.valueOf(firstNum-secondNum));
        }
        } 

}
}

当我去运行它时,它不想工作。我可能错过了一些东西,但我似乎无法理解。我的任何一点都正确吗?

这里有两个编译错误源

返回一个
int
值,因此不需要使用
Integer.parseInt
,它需要一个
字符串。相反,您可以使用:

int firstNum = num1st.getValue();
int secondNum = num2nd.getValue();
另外,
getValue
对于
ActionEvent
是未定义的,
getSource
将为
JButton
提供
对象的引用:

Object source = ae.getSource();
if (ae.getSource() == add) {
   answer.setText(String.valueOf(firstNum + secondNum));
} else if (source == subtract) {
   answer.setText(String.valueOf(firstNum - secondNum));
}
这:

毫无意义。Shoot——它甚至没有编译,因为ActionEvent没有
getValue()
方法。您不会获取ActionEvent的“值”,而是通过
getActionCommand()
获取其actionCommand字符串,然后可以使用字符串的
equals(…)
equalsIgnoreCase(…)
方法将其与其他字符串进行比较

i、 e


在以后的问题中,如果您遇到任何编译器错误,请发布所有编译器错误

“它不想工作”如果你告诉我原因,会有帮助的。你有错误吗?输出不是你期望的?后期编辑:没有必要责骂你的老师,因为学习这门课程的责任是你自己的,不管你的老师“做得不好”。
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; 
import javax.swing.*;

public class slideCalculator {
JButton add,subtract;
JSlider num1st,num2nd;
JLabel answer;
public slideCalculator(){
    JFrame calc = new JFrame("Mediocre Calculator");
    num1st = new JSlider (0, 100, 0);
    num1st.setMajorTickSpacing (10);
    num1st.setMinorTickSpacing (5);
    num2nd = new JSlider (0, 100, 0);
    num2nd.setMajorTickSpacing (10);
    num2nd.setMinorTickSpacing (5);
    add = new JButton("+");
    subtract = new JButton("-");
    answer = new JLabel("");
    calc.setDefaultCloseOperation(calc.EXIT_ON_CLOSE);
    calc.setVisible(true);
    calc.setBounds(500, 200, 290, 210);
    calc.setLayout(new GridLayout(0,2,1,1));
    calc.add(new JLabel("First Number: "));
    calc.add(num1st);
    calc.add(new JLabel("Second Number: "));
    calc.add(num2nd);
    calc.add(new JLabel("Answer: "));
    calc.add(answer);
    calc.add(add);
    calc.add(subtract);
    add.addActionListener(new action());
    subtract.addActionListener(new action());

}
public static void main(String[] args) {
    slideCalculator lc = new slideCalculator();
}
public class action implements ActionListener {
    public void actionPerformed(ActionEvent ae) {
        int firstNum = num1st.getValue();
        int secondNum = num2nd.getValue();
        if("+".equals(ae.getActionCommand())) {
            answer.setText(String.valueOf(firstNum+secondNum));
        }
        else 
        if ("-".equals(ae.getActionCommand())) {
            answer.setText(String.valueOf(firstNum-secondNum));
        }
        } 

}
}
if ("+".equals(ae.getActionCommand()) {
   // do addition
} else if ("-".equals(ae.getActionCommand()) {
   // do subtraction
}
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; 
import javax.swing.*;

public class slideCalculator {
JButton add,subtract;
JSlider num1st,num2nd;
JLabel answer;
public slideCalculator(){
    JFrame calc = new JFrame("Mediocre Calculator");
    num1st = new JSlider (0, 100, 0);
    num1st.setMajorTickSpacing (10);
    num1st.setMinorTickSpacing (5);
    num2nd = new JSlider (0, 100, 0);
    num2nd.setMajorTickSpacing (10);
    num2nd.setMinorTickSpacing (5);
    add = new JButton("+");
    subtract = new JButton("-");
    answer = new JLabel("");
    calc.setDefaultCloseOperation(calc.EXIT_ON_CLOSE);
    calc.setVisible(true);
    calc.setBounds(500, 200, 290, 210);
    calc.setLayout(new GridLayout(0,2,1,1));
    calc.add(new JLabel("First Number: "));
    calc.add(num1st);
    calc.add(new JLabel("Second Number: "));
    calc.add(num2nd);
    calc.add(new JLabel("Answer: "));
    calc.add(answer);
    calc.add(add);
    calc.add(subtract);
    add.addActionListener(new action());
    subtract.addActionListener(new action());

}
public static void main(String[] args) {
    slideCalculator lc = new slideCalculator();
}
public class action implements ActionListener {
    public void actionPerformed(ActionEvent ae) {
        int firstNum = num1st.getValue();
        int secondNum = num2nd.getValue();
        if("+".equals(ae.getActionCommand())) {
            answer.setText(String.valueOf(firstNum+secondNum));
        }
        else 
        if ("-".equals(ae.getActionCommand())) {
            answer.setText(String.valueOf(firstNum-secondNum));
        }
        } 

}
}