Witam. Używam komponentu org.jdesktop.swingx.JXDatePicker. Chciałbym się zapytać jak osiągnąć taki efekt:
Ustawiam sobie date początkową na jakiś dzień. Następnie metodą setLowerBound, ustawiam od którego dnia można wybrać datę. Jednak najwcześniejsza data jest późniejsza niż ta początkowa. Chciałbym aby ta początkowa data była widoczna w polu tekstowym tego komponentu, dopóki użytkownik nie wybierze nowej daty. Ta początkowa data ma być jednak niedostępna do wyboru, ma się tylko wyświetlać. Obecnie po ustawieniu setLowerBounda-a, ta data mi znika. Da się to zrobić? Z góry dzięki za pomoc.

Może trochę kodu testowego:

  1. Tu nie działa
import java.util.Calendar;
import java.util.Date;
import javax.swing.JFrame;
import org.jdesktop.swingx.JXDatePicker;

public class Test extends JFrame {
   public static void main(String[] args) {
      AutoBoxing frame = new AutoBoxing();
      frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
      frame.setResizable(false);
      frame.pack();
      frame.setVisible(true);
   }
   
   public Test() {
      JXDatePicker dp = new JXDatePicker();
      Calendar c = Calendar.getInstance();
      c.set(Calendar.YEAR, 2000);
      dp.setDate(c.getTime());
      dp.getMonthView().setLowerBound(new Date());
      add(dp);
   }
} 
  1. Tu działa
import java.util.Calendar;
import java.util.Date;
import javax.swing.JFrame;
import org.jdesktop.swingx.JXDatePicker;

public class Test extends JFrame {
   public static void main(String[] args) {
      AutoBoxing frame = new AutoBoxing();
      frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
      frame.setResizable(false);
      frame.pack();
      frame.setVisible(true);
   }
   
   public Test() {
      JXDatePicker dp = new JXDatePicker();
      Calendar c = Calendar.getInstance();
      c.set(Calendar.YEAR, 2017);
      dp.setDate(c.getTime());
      dp.getMonthView().setLowerBound(new Date());
      add(dp);
   }
} 

Pierwsze wnioski: Chyba powinienem zainteresować się 'DaySelectionModel'. Gdyby ktoś miał jakieś pomysły, może kiedy się tym bawił, to będę wdzięczny.