JSlider- ustawienie określonych wartości

0

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.

1

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

0

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.

1

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ć :)

0

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.

1

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);
    }
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.