Я использую JDateChooser
, чтобы позволить пользователю вводить дату. Как отключить функцию редактирования в появившемся текстовом поле? Я бы не хотел, чтобы пользователь вводил что-либо в этом текстовом поле - ввод должен вводиться только щелчком по календарю. Как мне это достичь?Как отключить параметры редактирования в JDateChooser?
Ниже мой код:
public class PQReport {
// product quotations report
public JPanel panel;
public PQReport() {
panel = new JPanel();
panel.setPreferredSize(new Dimension(125, 300));
initUI();
}
public void initUI() {
panel.setLayout(new net.miginfocom.swing.MigLayout());
JDateChooser chooser = new JDateChooser();
chooser.setLocale(Locale.US);
//chooser.isEditable(false);
chooser.setDateFormatString("yyyy-MM-dd");
panel.add(new JLabel("Date of Birth:"));
panel.add(chooser);
panel.add(new JButton("click"));
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
PQReport rep = new PQReport();
JFrame f = new JFrame();
f.setSize(400, 400);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(rep.panel);
}
});
}
}
Вы должны вызвать 'SetVisible (истина)' после добавления всех компонентов. Кроме того, вызовите 'pack()' вместо 'setSize' после добавления всего и перед отображением. – user1803551
Текстовое поле используется для ввода. Если вы не хотите, чтобы оно редактировалось, используйте 'JLabel' вместо этого, чтобы отобразить информацию. В противном случае вы можете вызвать 'setEditable (false)'. – user1803551