簡體   English   中英

Java Swing:啟用/禁用特定類型的組件

[英]Java Swing: Enabling/Disabling specific type of components

我需要啟用/禁用JFrame中的某些組件。 但是我只想禁用這些類型:

JTextField
JButton
JComboBox

有沒有關於在Java中執行此類操作的簡單示例?

遍歷JFrame的所有組件,包括其他組件內部的組件,並執行instanceof檢查以查看它是否是要禁用的類型之一,如果是,請禁用該組件。

作為有關如何執行此操作的示例,可以使用以下功能啟用或禁用所有JButton:

public void flipEnabledOnAllButtons(boolean enabled, Container rootContainerToSearch)
{    
    for (Component c : rootContainerToSearch.getComponents())    
    {    
        if (c instanceof Container)    
        {    
            flipEnabledOnAllButtons(enabled, (Container)c);    
        }    

        if (c instanceof JButton)    
        {    
            c.setEnabled(enabled);    
        }      
    }
}

查看Darryl的Swing Utils 您可以使用該類來獲取特定類的組件列表。 然后,您遍歷列表進行處理。

舉例來說,您可以使用組合框組件:

List<JComboBox> components = SwingUtils.getDescendantsOfType(JComboBox.class, frame.getContentPane(), true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM