2

JSlider を使用して日付チューザーを実装したいと考えています。ユーザーはスライダーを使用して、既知の 2 つの日付から自由に選択できる必要があります。私はこのような例を見てきました:

ここに画像の説明を入力

しかし、スライダーを 1 つだけ使用して、同じことをしたいと思います。2 点 (ティック) 間の最小距離は 1 日である必要があります。それを実装する方法のヒントはありますか?

4

3 に答える 3

3

でそれを行う方法を想像することはできませんJSlider。そこには何日もあるからですDouble/RangeSliderSpinnerDateModelCalendarDatePicker

編集 (@Robin)

ここに画像の説明を入力

于 2012-01-10T16:43:26.137 に答える
3

最小 = 1.1.2012 および最大 = 10.1.2012 のスライダーが必要な場合は、最小 = 0 および最大 = 間の日数でスライダーを作成し、選択した数値を 1.1.2012 に追加します。

10.1.2012 は 1 月 10 日を意味すると仮定すると、スライダーは最小 = 0 と最大 = 9 になります。次に、それに応じてラベルを設定します。

于 2012-01-10T16:41:52.240 に答える
2

最初に質問に答えます。を使用しJSlider、開始日と終了日の間の日数を使用して範囲を決定し、カスタムラベルを使用できます(たとえば、setLabelTableメソッドを使用して)

使いやすさのために、これを避けてください。

  1. 誰もこの概念に精通していません。今日のすべてのサイト/アプリケーションは、ほとんどの場合、カレンダーウィジェットと組み合わせてテキストフィールドを使用しています。それはユーザーが期待するものであり、スライダーではありません
  2. 幅が限られているため、スライダーのラベルとしてすべての日付を取得するのは困難です。これは、ユーザーが正しい日付を選択するために補間/カウントする必要があることを意味します
  3. スライダーアプローチに固執する場合は、少なくともテキストフィールドも追加することを検討してください。現在選択されている日付を表示する編集不可能なテキストフィールドでさえ、スライダーよりも大幅に改善されます(ポイント2を参照)。
于 2012-01-10T20:25:49.427 に答える