Как я могу программно открыть DateChooserPanel, когда мой кадр отображается
Я использую библиотеку DateChooser от Андросова Вадима, которую можно найти здесь: 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
}
Вот как это выглядит сейчас:
И вот чего я хочу добиться:
Если бы кто-то сделал то же самое и мог бы помочь мне достичь этого, было бы здорово.
1 ответ
Решение
После нескольких попыток решить эту проблему, я скачал исходный код Lib и отредактировал видимость метода dateChooserLoaded от частного к общему, собрал jar и внедрил эту отредактированную версию Lib в свой проект.
После этого я могу теперь просто назвать это так:
@Override
public void windowActivated(WindowEvent e) {
dateChooserLoaded();
}
может быть, это помогает кому-то еще с подобной проблемой.