2015-11-25 3 views
-5

У меня проблема, я хочу кнопку, которая, как только вы нажмете на нее, будет скрыта ярлык, и если вы снова нажмете кнопку, на ней появится метка. Помогите! Java JframeКнопка, чтобы скрыть/показать ярлык

+0

Вы должны быть более точными IFIC! и как мы, что вы хотя бы пробовали что-то .. Тогда вы получите помощь buddy ,, – Moe

+0

Покажите свой текущий код или то, что вы пробовали до сих пор. вы должны сотрудничать, если вам нужна помощь. Никто не должен решать ваши проблемы, если вы не работаете. –

+0

[Как использовать кнопки, флажки и радио кнопки] (http://docs.oracle.com/javase/tutorial/uiswing/components/button.html) и [Как написать прослушиватели действий] (http://docs.oracle.com/javase/tutorial/uiswing/events/actionlistener.html), то просто измените состояние свойства 'visible'' JLabel' – MadProgrammer

ответ

0

setVisible(true) и setVisible(false) хватит. Если вы хотите, чтобы этот JLabel вел себя более индивидуально, вы можете написать свой собственный JLabel, вы также можете сделать его реализующим ActionListener и позвонить по номеру changeState() каждый раз.

class MyLabel extends JLabel { 
    private boolean state; 

    public void changeState(){ 
     state = !state; 
     if(!state) 
     setText("");//or "hide" -> setVisible(false); 
     else 
     setText("your text");//or show -> setVisible(true); 
    }  
} 
+0

. Что случилось с 'setVisible'? Кажется, что много лишнего для небольшого выигрыша – MadProgrammer

+0

@MadProgrammer ничего нет, просто показывая более универсальный способ в случае следующего вопроса: как изменить цвет/текст и несколько вещей JLabel, когда я нажму на него, или если будет больше состояний этого JLabel. Может быть, я должен держать это просто. – Yoda

+0

Я по-прежнему предпочитаю [состав над наследованием] (https://www.google.com.au/search?q=composition+over+inheritance&oq=composition+over+inheritance&aqs=chrome..69i57j0l5.799j0j7&sourceid=chrome&es_sm=122&ie = UTF-8), но это я – MadProgrammer

0

я просто предоставить некоторые идеи (а не код) о том, как вы можете сделать это

во-первых, вы должны иметь все маркеры элементов пользовательского интерфейса пример

Button button = ... 
Label label = ... 

тогда вам должен сделать код для метода actionPerformed , используя if/else, чтобы метка спряталась или показалась в зависимости от булевой переменной

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