2012-02-12 3 views
0

Я не знаю, как сделать это простым и легким кодом. Я могу просто перейти к каждому фрагменту своего кода и использовать setEnabled для false для каждого компонента, но мне нужен простой способ.Отключить JFrame, но вы хотите получить доступ к меню Windows

Я хочу отключить весь кадр, но все же хочу закрыть/увеличить/уменьшить его. Вы понимаете?

И если я использую setEnabled (false) на моем кадре, он также отключает эти параметры, параметры панели меню Windows, которые вы знаете?

Большое спасибо заранее ..

ответ

3

Простой, Помещенный все компоненты в JPanel и выключить JPanel :-)

+0

Я тестировал setEnabled (false) на моем JMenuBar и его не работает ... почему? Я все еще могу получить доступ к меню: s – TiagoM

+0

Я сделал это уже, спасибо mate;) – TiagoM

+0

ehhh ... для достижения какой цели? (Немного смущен на нужном и опыте). Вы знаете, что отключение контейнера не отключает его дочерние элементы. – kleopatra

1

Вы можете использовать фрагмент кода, как показано ниже. Вставьте этот метод/подпрограмму в класс утилиты. Поскольку этот метод является статическим, вы можете вызвать его без экземпляра этого класса. И делают вызовы к этому методу, чтобы включить/отключить компоненты (пункты меню, кнопки, текстовые поля и т.д.)

// Let's say you have a JFrame object called myFrame 
// and a reference to its content pane. 
// Container container = myFrame.getContentPane(); 

public static void toggleAbilities(Container container, boolean enabled) 
{ 
    Component[] components = container.getComponents(); 
    for(Component component: components) 
    component.setEnabled(enabled); 
} 

Если вы застряли, я могу отправить общий рабочий код, а также. (Переключение возможностей набора кнопок в JFrame)

+0

Нет, это не то, что вы хотите делать ;-) Во всех, кроме самых простых GUI, управление включением требует определенных усилий, обычно связанных с каким-либо состоянием домена (думаю, что действие сохранения активировано только при изменении открытого файла). Безоговорочно отключить все разрушит это связывание – kleopatra

+0

Я уже сделал это, я поместил все свои компоненты в компонентный вектор, а затем у меня просто есть статическая функция «like» (не равна) вашей :) И ее работа, просто добавьте, чтобы сделать больше кода : s Я искал решение меньше кода, но неважно;) спасибо всем, ребята. – TiagoM

 Смежные вопросы

  • Нет связанных вопросов^_^