在JDateChooser中,我們添加了一個addPropertyChangeListener來檢測是否選擇了日期。如果選擇了,我們想打開一個JCombobox。我們選擇時會檢測(日期)字符串,但我們無法打開JComboBox。如何在addPropertyChangeListener中打開JCombobox
下面是代碼:
dateChooserCal.getDateEditor().addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt)
{
date = dateChooserCal.getDate();
if ("date".equals(evt.getPropertyName()))
{
dates = evt.getNewValue();
dateString = String.format("%1$td-%1$tm-%1$tY", date);
if (dateString != null)
{
System.out.print(dateString);
chooseTimeBox = new JComboBox(controllerApp.getTime());
chooseTimeBox.setBounds(215, 261, 282, 22);
add(chooseTimeBox);
chooseTimeBox.setVisible(true);
}
}
}
});
它看起來像你正在使用空佈局。雖然許多新的Swing程序員null佈局看起來似乎是創建看起來很複雜的GUI的最簡單方法,但一旦您對Swing有所瞭解,您會發現這是一個謬論,null佈局會讓您陷入困境,GUI的創建非常不靈活,難以升級,調試和維護,雖然使用單一屏幕分辨率的GUI可能在單一平臺上看起來不錯,但它們在所有其他平臺上看起來都不錯,並且明智地使用佈局管理器是更好的選擇。 – 2014-12-02 12:11:26