如何在显示框架时以编程方式打开DateChooserPanel

时间:2015-10-13 17:51:40

标签: java datechooser

我使用Androsov Vadim的DateChooser Lib,可以在这里找到: Sourceforge Link

我想要实现的是,只需在显示框架时显示弹出菜单。 这是DateChooserCombo的简单实现

package testapp;

public class TestFrame extends javax.swing.JFrame {

public TestFrame() {
    initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    dateChooserCombo1 = new datechooser.beans.DateChooserCombo();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addContainerGap(124, Short.MAX_VALUE)
            .addComponent(dateChooserCombo1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(121, 121, 121))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(22, 22, 22)
            .addComponent(dateChooserCombo1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap(258, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>                        
// Variables declaration - do not modify                     
private datechooser.beans.DateChooserCombo dateChooserCombo1;
// End of variables declaration                   
}

现在的样子:

DateChooserCombo

这就是我想要实现的目标:

DateChooserCombo with shown menue

如果有人做了同样的事情并且可以帮助我实现这一目标会很棒。

1 个答案:

答案 0 :(得分:0)

尝试多次尝试解决此问题后,我下载了Lib的源代码并编辑了dateChooserLoaded方法从私有到公共的可见性,构建了jar并将此编辑版本的Lib实现到我的项目中。

之后我现在可以简单地称之为:

@Override
public void windowActivated(WindowEvent e) {
    dateChooserLoaded();
}

也许这可以帮助其他有类似问题的人。