Witam,
Przeszukałem całe oracledocuments, niestety nie znalazłem w jaki sposób mogę ustawić, aby suwak zatrzymywał się jedynie na wybranych wartościach i tylko je odczytywał, tzn:
suwak od 100 do 3200, chcę, żeby wartości przez niego zauważane to były: 100, 200, 400, 800, 1600, 3200. Nie mogę jednakże znaleźć żadnej metody, która pozwala na opracowanie takiego suwaka. setLabetTable pozwala jedynie, z tego co się zorientowałem, na ustawienie labeli dla danych wartości, a nie samych wartości.
Pozdrawiam.
zobacz ten przykład :
http://stackoverflow.com/questions/17936180/snapping-to-certain-values-in-jslider-possible
pomocne metody:
slider.getValue() - pobiera wartość z slider
slider.setEnabled(false); - wyłącza slider
Dzięki za pomoc, ale jednak zrezygnowałem z JSliderów, przeszdłem na JComboBoxy.
Stąd kolejne pytanie (żeby nie zaśmiecać wątku).
Da się w javie przybliżyć obliczoną liczbę do najbliższej jej liczby ze znanych grup liczb pobranych z JComboBoxa? Math.round tego nie przewiduje.
Z góry dzięki.
Da się w javie przybliżyć obliczoną liczbę do najbliższej jej liczby ze znanych grup liczb pobranych z JComboBoxa? Math.round tego nie przewiduje.
Math.round - http://www.tutorialspoint.com/java/number_round.htm
Chodzi Ci o zastosowanie metody losującej liczy z podanego zakresu: *Random * :
http://www.tutorialspoint.com/java/util/random_nextint_inc_exc.htm
Tak da się to zrobić , podaj na przykładach . Jak byś chciał aby to wyglądało. Za jakiś czas spojrzę .
Jak chcesz możesz plusika postawić :)
math.round przybliża do najbliższej liczby całkowitej. mi chodzi o to, żeby przybliżyć liczbę do najbliższej liczby z grupy liczb z tablicy. np.
Stworzyłem tablice liczb
Integer[] isoarray= {100, 200, 400, 800, 1600, 3200};
Obliczyłem liczbę np. nie wiem, 155. Chcę, żeby przybliżyło mi ją do najbliższej liczby z mojej tablicy, czyli 200.
coś dla przykładu, tak na szybko :
package number;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
*
* @author KasiaKasia
*/
public class Forum {
/**
* @param args the command line arguments
*/
List<Number> numbers = new ArrayList<Number>();
public void check(double n) {
int temp = 0;
numbers.add(0);
numbers.add(100);
numbers.add(200);
if (n >= 0 && n < 50) {
temp = (int) numbers.get(0);
}
if (n >= 50 && n < 150) {
temp = (int) numbers.get(1);
}
if (n >= 150 && n < 350) {
temp = (int) numbers.get(2);
}
System.out.print(temp);
}
public static void main(String[] args) {
// TODO code application logic here
Forum n = new Forum();
n.check(150);
}
}