[英]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.