当前位置: 首页 > 面试题库 >

在JDialog中使用JCalendar

申黎明
2023-03-14
问题内容

我的程序使用JDialogs来打开表单,并以我要JCalendar用于用户选择日期的形式使用,然后供我将其用于其他方法。

我已经下载了JCalendar图书馆。我阅读了一些示例代码,但仍不确定如何执行。我有一个想法,在表单中按下一个按钮(选择日期),然后像打开一个小窗口一样JCalendar,当选择了日期时,它将在表单中显示为TextField。

有人可以推荐我一些麻烦最少的方法吗?


问题答案:

我有一个想法,在表单中您按下一个按钮(选择日期),并且像一个打开了该JCalendar的小窗口一样,当选择了日期时,它将以TextField的形式显示在表单中。

您可能要尝试JDateChooser使用JCalendar库中存在的类,该类允许选择日期或手动键入日期。关于第二部分,您需要为日期选择器提供一个PropertyChangeListener,以便侦听“
date”属性的更改并相应地更新文本字段的文本。例如这样的事情:

final JTextField textField = new JTextField(15);

JDateChooser chooser = new JDateChooser();
chooser.setLocale(Locale.US);

chooser.addPropertyChangeListener("date", new PropertyChangeListener() {
    @Override
    public void propertyChange(PropertyChangeEvent evt) {
        JDateChooser chooser = (JDateChooser)evt.getSource();
        SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
        textField.setText(formatter.format(chooser.getDate()));
    }
});

JPanel content = new JPanel();
content.add(chooser);
content.add(textField);

JDialog dialog = new JDialog ();
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.getContentPane().add(content);
dialog.pack();
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);


 类似资料:
  • 特性: 可修改CSS来统一定制UI; 通过参数设置标题,高度,宽度,窗口显示的HTML内容; 一个页面同时只能显示一个窗口; 窗口显示需要指定一个页面上的对象做为窗口显示做置定位,这样窗口会出现在哪个东西的下面,就像下拉列表一样. 不能拖动(我们不需要这样的功能); 可以点击窗口之外的任意区域来关闭窗口,或是点右上角的关闭按钮. 演示地址: http://huacnlee.github.com/jdialog/

  • 主要内容:1 Java JDialog的介绍,2 Java JDialog的声明,3 Java JDialog的构造方法,4 Java JDialog的案例1 Java JDialog的介绍 JDialog控件表示一个带有边框和标题的顶级窗口,用于从用户那里获取某种形式的输入。它继承了Dialog类。 与JFrame不同,它没有最大化和最小化按钮。 2 Java JDialog的声明 我们来看一下javax.swing.JDialog类的声明。 3 Java JDialog的构造方法 方法 描述

  • 我有两个类:类jDialog和JFrame 知道如何保持jDialog运行吗?我只使用setVisible()来隐藏它,而不使用dispose();

  • 问题内容: 我正在使用以下代码在任务栏上显示JDialog,并且在JDK 1.6中可以正常工作。 但是当我使用方法设置模态类型时,它不起作用 这两个代码之间有什么区别?有什么方法可以解决此问题吗? 问题答案: 问题是某些所有者的构造方法会创建一个伪框架所有者(如果所有者是出于历史原因)。但是 必须没有 所有者像顶级窗口一样可见。即 将工作。

  • 问题内容: 我有一个使用JPA的项目J2SE。在某些JDialogs中,我确实返回并在类的构造函数中填充JTable,JComboBox,JList等。 因此,当我为这些对话框创建任何实例时,有时会很慢。 我认为使用SwingWorker和JProgressbar并创建一个(加载)来打开JDialogs是一个很好的解决方案,但是我不知道该怎么做。 我正在尝试这个。 如何打开JDialog并创建要使

  • 问题内容: 我想在新的JDialog中创建JProgressBar,它将与主逻辑处于不同的线程中。因此,我可以通过仅创建新的JDialog并通过处置JDialog完成该进度来开始不确定的进度。但这给了我很多时间,因为在出​​现JDialog之后,直到完成主线程(SwingUtilities)中的逻辑后,它才显示任何组件(包括JProgressBar)。 包含JDialog的线程: JProgres