我使用JAVA Swing創建了一個下拉列表。當我選擇「跟蹤RCM的狀態:」時,我想在所選選項旁邊創建另一個下拉列表。我應該使用mouseactionlistener來代替嗎?我試圖完成像這樣的事情,當我點擊菜單選項時,還有另一個列表,我可以在菜單選項類別下選擇。例如:http://smoothjazztampabay.com/wp-content/rockettheme/rt_metropolis_wp/menu-options/dropdownmenu.jpgJava Swing下拉列表
我試過使用這段代碼,但是不能。
if (state == ItemEvent.SELECTED)
{
ItemSelectable itemS = itemEvent.getItemSelectable();
String cmd = selectedString(itemS);
if (cmd.equals("Keep track of status of RCM:"))
{
RCMCombo2.addItem(RCMCombo);
selectionPanel.add(RCMCombo2);
}
代碼的完整版本如下所示:
String [] RCM2 = {"Keep track of status of RCM:", "Add and activate RCM", "Remove RCM",
"Display the usage statistics for RCM",
"Update capabilities of RCMs", "Show RCM used most frequently in the last n days",
"Display number of times the RCM was emptied in n hours"};
RCMCombo2 = new JComboBox(RCM2);
RCMCombo2.addItemListener(itemListener);
RCMCombo2.setEditable(false);
RCMCombo2.setBounds(10,10,10,30);
//"Updates capabilities of RCM"); Get the location of RCM");
selectionPanel.add(RCMCombo2);
ItemListener itemListener = new ItemListener()
{
public void itemStateChanged(ItemEvent itemEvent)
{
int state = itemEvent.getStateChange();
//System.out.println((state == ItemEvent.SELECTED) ? "Selected" : "Deselected");
//System.out.println("Item: " + itemEvent.getItem());
if (state == ItemEvent.SELECTED)
{
ItemSelectable itemS = itemEvent.getItemSelectable();
String cmd = selectedString(itemS);
if (cmd.equals("Keep track of status of RCM:"))
{
RCMCombo2.addItem(RCMCombo2);
selectionPanel.add(RCMCombo2);
}
任何幫助將不勝感激。謝謝。
沒有「JAVA GUI」。你顯然正在使用Java Swing。 – SebastianH
'selectionPanel.add(RCMCombo2);'嘗試並'重新驗證'和'repaint'在這之後。 –
看起來似乎'revalidate(); repaint()'problem =(。似乎你需要爲你的'RCMCombo2'設置邊界 – alex2410