2016-05-12 1 views
0

J'ai deux boutons radio dans le cadre. Lorsque je clique sur "Manuel Server" (dans le coin inférieur droit), je veux mettre une boîte de texte au lieu de boutons radio. Lorsque vous cliquez à nouveau sur "Serveur MANUEL", je veux à nouveau mettre les boutons radio au lieu de textBox. Maintenant je peux seulement mettre la zone de texte près des boutons radio. Je ne peux pas mettre à la place d'eux (sur eux). Comment devrait le définir?comment organiser les composants dans le cadre en utilisant miglayout? (java) (projet swing)

Before click to Manuel_Server

After click to Manuel_Server

jconnectManuelServer = new JLabel("<html><u>" + ELanguage.getString("Manuel_Server") + "</u></html>"); 
     jconnectManuelServer.setVisible(true); 

     jconnectManuelServer.addMouseListener(new MouseAdapter() { 
      @Override 
      public void mouseClicked(MouseEvent e) { 
       if (!loginClicked) { 

        jconnectAutomatic = new JLabel("MANUEL_Server"); 
        jconnectAutomatic = new JLabel("<html><u>" + ELanguage.getString("MANUEL_Server") + "</u></html>"); 
        jconnectManuelServer.setVisible(false); 
        jserverOptLive.setPreferredSize(new Dimension(1, 1)); 
        jserverOptDemo.setContentAreaFilled(true); 
        jserverOptDemo.setVisible(false); 
        jserverOptLive.setVisible(false); 
        jconnectAutomaticText.setVisible(true); 
        panel.remove(jconnectManuelServer); 
        panel.add(jconnectAutomatic, "width 3:150:140,wrap"); 
        jconnectAutomatic.setVisible(true); 

        jconnectAutomatic.addMouseListener(new MouseAdapter() { 
         @Override 
         public void mouseClicked(MouseEvent e) { 
          jconnectAutomatic.setVisible(false); 
          panel.remove(jconnectAutomatic); 
          panel.add(jconnectManuelServer); 
          jconnectManuelServer.setVisible(true); 
          jconnectAutomaticText.setVisible(false); 
          jserverOptDemo.setVisible(true); 
          jserverOptLive.setVisible(true); 

         } 
        }); 

       } 

      } 

     }); 

    private void loadComponent() { 
     // add components to panel here 

     panel.add(new JLabel(ELanguage.getString("(LANG)org.esse.trader.loginframe.login")), 
       "newline 50,gap 150"); 
     if (userList == null || userList.length < 2) { 
      panel.add(jlogin, /*LANG_IGNORE*/ "width 1:150:150,wrap"); 
     } else { 
      panel.add(juserCombo, /*LANG_IGNORE*/ "width 1:150:150,wrap"); 
     } 
     panel.add(new JLabel(ELanguage.getString("(LANG)org.esse.trader.loginframe.password")), "gap 150"); 
     panel.add(jpass, /*LANG_IGNORE*/ "width 1:150:150,wrap"); 
     panel.add(new JLabel(ELanguage.getString("(LANG)org.esse.trader.loginframe.server")), "gap 150"); 
     //panel.add(server, /*LANG_IGNORE*/ "width 1:150:150,wrap"); 

      panel.add(jserverOptLive, /*LANG_IGNORE*/ "width 1:60:60, split 2"); 
      panel.add(jserverOptDemo, /*LANG_IGNORE*/ "width 1:60:60,split 3"); 


     panel.add(jconnectAutomaticText, "width 1:100:200, wrap"); 
     jconnectAutomaticText.setVisible(false); 

//  panel.add(new JLabel(ELanguage.getString("(LANG)org.esse.trader.loginframe.port")), "gap 150"); 
//  panel.add(jport, /*LANG_IGNORE*/ "width 1:100:80,split 3"); 
     panel.add(new JLabel(ELanguage.getString("(LANG)org.esse.trader.loginframe.ssl")), "gap 150"); 
     panel.add(juseSsl, "wrap"); 
     if (TClientExe.setupType != 1) { 
      panel.add(new JLabel(ELanguage.getString("(LANG)org.esse.trader.loginframe.language")), "gap 150"); 
      panel.add(jlanguage, "width 1:80:150,wrap"); 
     } 
     panel.add(new JLabel(ELanguage.getString("(LANG)org.esse.trader.loginframe.save")), "gap 150"); 
     panel.add(jsaveCredentials, "width 1:30:25, split 2"); 
     panel.add(jdeleteSavedUser, "wrap"); 
     panel.add(jloginButton, "gap 150"); 

     panel.add(jcancelButton, /*LANG_IGNORE*/ "wrap"); 

     panel.add(TClientExe.getProgressBar(), /*LANG_IGNORE*/ "w 100:100,span,growx,wrap,gap 150"); 
     if (TClientExe.setupType != 1) { 
      panel.add(jcreateNewDemoAccount); 
      panel.add(emptyLabel); 
      panel.add(jconnectManuelServer); 
     } 
     setResizable(false); 

    } 

Répondre

0

Il doit être simple. Vous devriez avoir un panneau qui devrait être de la disposition de la carte.

  • Porte-Place (panneau - avec la mise en page de la carte) aura deux panneaux à l'intérieur
    • premier panneau (qui contient deux boutons radio)
    • deuxième panneau (qui contient la zone de texte)

En cliquant sur le serveur manuel, vous pouvez changer les cartes.

Espérons que cela serait utile.