Hỏi về tác dụng của phương thức createStandardLabels và setLabelTable trong lớp JSlider


Cho em hỏi 2 phương thức trên sử dụng để làm gì vậy ạ, em đọc không rõ lắm

Một slider sẽ có 1 hoặc nhiều giá trị. Để lưu giữ giá trị đó slider có thể dùng hashtable
Em tưởng tượng đó là 1 cái thước kẻ. Trên thước có nhiều vạch.
Hashtable là 1 dạng cấu trúc dữ liệu với key - value.
1 vạch trên thước sẽ là key. Số thể hiện vạch thước sẽ là value

Em sử dụng Hashtabe để định dạng Slider của mình có key và value kiểu gì. Ví dụ dưới đây để key là số integer còn value là chữ

Sau khi có 1 bộ key và value em sẽ đẩy nó vào slider của mình bằng method setLabelTable

//Create the slider
JSlider framesPerSecond = new JSlider(JSlider.VERTICAL,FPS_MIN, FPS_MAX, FPS_INIT);


//Create the label table (key/value the display on slider)
Hashtable labelTable = new Hashtable();
labelTable.put( new Integer( 0 ), new JLabel("Stop") );
labelTable.put( new Integer( FPS_MAX/10 ), new JLabel("Slow") );
labelTable.put( new Integer( FPS_MAX ), new JLabel("Fast") );

//set lable
framesPerSecond.setLabelTable( labelTable );

framesPerSecond.setPaintLabels(true);

1 Like

em cám ơn ạ :slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?