Используя два ползунка JFrame для установки минимального и максимального значений, как разрешить только минимальному достижению максимального значения? - PullRequest
0 голосов
/ 14 июня 2019

У меня есть два ползунка JFrame, которые я хочу использовать, на первом тоже установлено минимальное значение, а на втором тоже установлено максимальное значение. Очевидно, что если кто-то переместит минимальное значение за максимальное значение, которое не будет выглядеть правильно (и, возможно, не будет работать? Еще не получил эту часть)

Моя проблема в том, что я не знаю способа блокировки минимального значения при любом максимальном значении (или 1 ниже). Пример: Максимальное значение равно 15, минимальное значение не может превышать 15, а ползунок фиксируется на отметке 15.

        minSlider.setFont(minSlider.getFont());
        minSlider.setMaximum(20);
        minSlider.setMinimum(1);
        minSlider.setToolTipText("");
        minSlider.setValue(7);
        minSlider.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        getContentPane().add(minSlider, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 170, 280, -1));

        maxSlider.setMaximum(20);
        maxSlider.setMinimum(1);
        maxSlider.setToolTipText("");
        maxSlider.setValue(14);
        getContentPane().add(maxSlider, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 240, 280, -1));

        jLabel1.setText("Min:");
        getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 180, -1, -1));

        jLabel2.setText("Max:");
        getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 250, -1, -1));

1 Ответ

0 голосов
/ 14 июня 2019

Добавьте addChangeListener() на maxSlider.

Это будет постоянно сообщать, каково максимальное значение для ползунка min.

Используйте этот код:

maxSlider.addChangeListener(new ChangeListener() {
  public void stateChanged(ChangeEvent e) {
         minSlider.setMaximum(maxSlider.getValue());
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...