我试图让 Slide.Get_Value() 在得到数字 5 时打印 "Five" 作为测试
I'm trying to get Slide.Get_Value() to print "Five" whenever it gets the number 5 as a test
package com.company.Iguana;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.InputEvent;
public class MyCPS implements ChangeListener {
JSlider Slider;
JPanel panel;
JLabel label;
JFrame frame;
JComboBox Combo;
MyCPS() {
frame = new JFrame("CPS");
panel = new JPanel();
label = new JLabel();
Slider = new JSlider();
String[] Buttons = {"Left Click", "Right Click"};
JComboBox combo = new JComboBox(Buttons);
ImageIcon image = new ImageIcon("BOAROR.png");
frame.setIconImage(image.getImage());
frame.getContentPane().setBackground(Color.YELLOW);
frame.setTitle("Iguana.exe");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(420, 420);
Slider = new JSlider(0, 23, 12);
Slider.setPreferredSize(new Dimension(400, 200));
Slider.setPaintTrack(true);
Slider.setMajorTickSpacing(4);
Slider.setPaintLabels(true);
Slider.setOrientation(SwingConstants.VERTICAL);
label.setText("CPS" + Slider.getValue());
label.setIcon(image);
Slider.addChangeListener(this);
panel.add(combo);
panel.add(Slider);
panel.add(label);
frame.add(panel);
frame.setSize(420,420);
frame.setVisible(true);
frame.pack();
}
@Override
public void stateChanged(ChangeEvent e) {
label.setText("CPS" + Slider.getValue());
if(e.equals(Slider.getValue())); <<<<<<<< Problem
System.out.println("Five");
}
}
每当我尝试放置 if(e.equals(Slider.getValue())); == 5
它说 Operator '==' cannot be applied to 'java.lang.Object', 'int'
每当我将 CPS 设置为 5 时,我都会尝试获取它,它会打印“Five”作为测试,我很新,所以我可能犯了一些愚蠢的错误
错误是因为您正在尝试比较 e
类型的对象 ChangeEvent
与 Slider.getValue()
,其中 returns 和 int
。
你应该写成
if(Slider.getValue() == 5) {
System.out.println("Five");
}
查看 JSlider#getValue
以了解更多信息。
package com.company.Iguana;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
import java.awt.event.InputEvent;
public class MyCPS implements ChangeListener {
JSlider Slider;
JPanel panel;
JLabel label;
JFrame frame;
JComboBox Combo;
MyCPS() {
frame = new JFrame("CPS");
panel = new JPanel();
label = new JLabel();
Slider = new JSlider();
String[] Buttons = {"Left Click", "Right Click"};
JComboBox combo = new JComboBox(Buttons);
ImageIcon image = new ImageIcon("BOAROR.png");
frame.setIconImage(image.getImage());
frame.getContentPane().setBackground(Color.YELLOW);
frame.setTitle("Iguana.exe");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(420, 420);
Slider = new JSlider(0, 23, 12);
Slider.setPreferredSize(new Dimension(400, 200));
Slider.setPaintTrack(true);
Slider.setMajorTickSpacing(4);
Slider.setPaintLabels(true);
Slider.setOrientation(SwingConstants.VERTICAL);
label.setText("CPS" + Slider.getValue());
label.setIcon(image);
Slider.addChangeListener(this);
panel.add(combo);
panel.add(Slider);
panel.add(label);
frame.add(panel);
frame.setSize(420,420);
frame.setVisible(true);
frame.pack();
}
@Override
public void stateChanged(ChangeEvent e) {
label.setText("CPS" + Slider.getValue());
if(e.equals(Slider.getValue())); <<<<<<<< Problem
System.out.println("Five");
}
}
每当我尝试放置 if(e.equals(Slider.getValue())); == 5 它说 Operator '==' cannot be applied to 'java.lang.Object', 'int'
每当我将 CPS 设置为 5 时,我都会尝试获取它,它会打印“Five”作为测试,我很新,所以我可能犯了一些愚蠢的错误
错误是因为您正在尝试比较 e
类型的对象 ChangeEvent
与 Slider.getValue()
,其中 returns 和 int
。
你应该写成
if(Slider.getValue() == 5) {
System.out.println("Five");
}
查看 JSlider#getValue
以了解更多信息。