我在我的程序中使用了一个JSlider,并为它实现了一个ChangeListener.
public void stateChanged(ChangeEvent e)
{
JSlider source=(JSlider) e.getSource();
frame_value.setText(Integer.toString(source.getValue()));
//Condition to change the frame_no only when user has stopped moving the slider
if (!source.getValueIsAdjusting())
{
frame_no=(int) source.getValue()-1;
if(frame_no<0)
frame_no=0;
}
....
}
Run Code Online (Sandbox Code Playgroud)
发生的事情是,无论何时调用ChangeListener,程序都会跳过if块,然后转到代码.我不明白为什么会这样.我无法从JSlider获得正确的值.请帮忙!!
PS:我不知道这是不是这个原因,但是最近我设置了JSlider的用户界面来点击它.我不知道是否应该对此负责.这是代码:
slider.setUI(new MetalSliderUI() {
protected void scrollDueToClickInTrack(int direction) {
int value = HEVC_Analyzer.slider.getValue();
value = this.valueForXPosition(HEVC_Analyzer.slider.getMousePosition().x);
HEVC_Analyzer.slider.setValue(value);
}
});
Run Code Online (Sandbox Code Playgroud) 我有许多文本文件,它们是固定的,重复的格式,如:
Q 32,0 16
q 27
b 21
I 0
P 1
d 0
m 31,0
Q 48,0 16
q 27
b 2
I 2
P 1
d 0
m 31,0
.
.
.
Run Code Online (Sandbox Code Playgroud)
我想用Java解析它们.我想知道的是解析这样一个文本文件的最快方法.如果这有助于提高性能,我可以更改文本文件的输出格式,因为这里唯一的要求是解析速度.我也可以使用外部库.