2013-05-03 2 views
0
 mntmOneToOne.addMouseListener(new MouseAdapter() 
    { 
      @Override 
     public void mouseClicked(MouseEvent arg0) 
      { 
        String name=new String(); 
       int count = arg0.getClickCount(); 
    // selecting 1st panel 
        if (count == 1) 
        { 
         JPanel panel = (JPanel) arg0.getSource(); 

         // name = panel.getName();  

         System.out.println(panel.getName()); 

        } 

// selecting the 2nd panel 
      if (count == 1) 
      { 
        JPanel panel = (JPanel) arg0.getSource();  

        // name = panel.getName(); 

        System.out.println(panel.getName()); 

      } 


      } 
    }); 

Я хочу создать режим при нажатии кнопки mntmOnetoOne; в этом режиме любые две панели, которые были нажаты среди 5 панелей на JFrame, покажут свое имя (JPanel) на консоли. После того, как пользователь нажал любую из двух панелей, этот режим автоматически отключится.хотите создать режим выбора и отключить его после нажатия 2 JPanels

+2

or the are two users with [same question] (http://stackoverflow.com/q/16362625/714968) или один пользователь с двумя ID с тем же вопросом – mKorbel

ответ

1

Action s (с AbstractAction) позволяет делать то, что вы хотите. У вас есть свойство «enabled», которое вы можете установить. См. tutorial.

+0

его флажок! Я хочу сделать это с помощью кнопки – Asd

+0

@Asd: Игорь не говорит о флажке или кнопках, а о действиях, которые лежат в основе их функциональности, и его советы хороши. 1+. Но ваш вопрос путается в том, что вы упоминаете нажатие на кнопку и на панели. Что он? –

+0

режим включается через кнопку «mntmOneToOne» - это кнопка! и после нажатия этой кнопки пользователю нужно щелкнуть 2 JPanels, а onclick имена JPanel будут показаны на консоли ..P.s. эти 2 панели входят в число 5 JPanels, присутствующих на JFrame уже – Asd