打印一次 Jslider
Printing a single time Jslider
这段代码的作用是每次滑块的旋钮在 0-20 和 20-50 之间时打印一条消息(当旋钮位于 1、2、3、4 等位置时打印一条消息) .我需要的是当旋钮在这些范围之间时只打印一次。
public void stateChanged(ChangeEvent e)
{
int sliderValue = jslider.getValue(); //This method returns the value of the Slider!
if(sliderValue >= 0 && sliderValue <= 20)
{
System.out.println("Between 0 and 20");
}
else if (sliderValue > 20 && sliderValue <= 50)
{
System.out.println("You're 20 - 50");
}
}
这个怎么样...
private boolean range0Printed = false;
private boolean range1Printed = false;
public void stateChanged(ChangeEvent e)
{
int sliderValue = jslider.getValue(); //This method returns the value of the Slider!
if(sliderValue >= 0 && sliderValue <= 20 && !range0Printed)
{
System.out.println("Between 0 and 20");
range0Printed = true;
}
else if (sliderValue > 20 && sliderValue <= 50 && !range1Printed)
{
System.out.println("You're 20 - 50");
range1Printed = true;
}
}
在你的情况下,你有一个为时间间隔指定的“RANGE”,这意味着
一旦滑块进入下限,即 [sliderValue >= 0] 或 [sliderValue > 20],您的条件就会满足并保持为真,直到它退出上限,即
[滑块值 <= 20] 或 [滑块值 <= 50].
思路是先设置上限,可以设置上限独享。
其中一个解决方案可能是将范围的中位数作为成功的目标。
public void stateChanged(ChangeEvent e) {
int sliderValue = jslider.getValue();
int lowerMedian=(0+20)/2;
int upperMedian=(0+50)/2;
if (sliderValue >= 0 && sliderValue <= 20 && sliderValue == lowerMedian) {
System.out.println("Between 0 and 20");
} else if (sliderValue > 20 && sliderValue <= 50 && sliderValue == upperMedian) {
System.out.println("You're 20 - 50");
}
}
这段代码的作用是每次滑块的旋钮在 0-20 和 20-50 之间时打印一条消息(当旋钮位于 1、2、3、4 等位置时打印一条消息) .我需要的是当旋钮在这些范围之间时只打印一次。
public void stateChanged(ChangeEvent e)
{
int sliderValue = jslider.getValue(); //This method returns the value of the Slider!
if(sliderValue >= 0 && sliderValue <= 20)
{
System.out.println("Between 0 and 20");
}
else if (sliderValue > 20 && sliderValue <= 50)
{
System.out.println("You're 20 - 50");
}
}
这个怎么样...
private boolean range0Printed = false;
private boolean range1Printed = false;
public void stateChanged(ChangeEvent e)
{
int sliderValue = jslider.getValue(); //This method returns the value of the Slider!
if(sliderValue >= 0 && sliderValue <= 20 && !range0Printed)
{
System.out.println("Between 0 and 20");
range0Printed = true;
}
else if (sliderValue > 20 && sliderValue <= 50 && !range1Printed)
{
System.out.println("You're 20 - 50");
range1Printed = true;
}
}
在你的情况下,你有一个为时间间隔指定的“RANGE”,这意味着
一旦滑块进入下限,即 [sliderValue >= 0] 或 [sliderValue > 20],您的条件就会满足并保持为真,直到它退出上限,即 [滑块值 <= 20] 或 [滑块值 <= 50].
思路是先设置上限,可以设置上限独享。
其中一个解决方案可能是将范围的中位数作为成功的目标。
public void stateChanged(ChangeEvent e) {
int sliderValue = jslider.getValue();
int lowerMedian=(0+20)/2;
int upperMedian=(0+50)/2;
if (sliderValue >= 0 && sliderValue <= 20 && sliderValue == lowerMedian) {
System.out.println("Between 0 and 20");
} else if (sliderValue > 20 && sliderValue <= 50 && sliderValue == upperMedian) {
System.out.println("You're 20 - 50");
}
}