[SWING] pb de position de boutton et JTextField et de Jinternalframe

pb de position de boutton et JTextField et de Jinternalframe [SWING] - Java - Programmation

Marsh Posté le 23-04-2003 à 12:28:36    

ba alors je vois explik j'arrive pas a placé tout ce que je veux ou je veux pourtant me semble que j'utilise les bonnes methodes pour par example ma Jinternalframe browser elle s'affiche pas ou je veux et elle a pas les bonne dimension alors que pourtant je fais un set size dessus idem pour les text field ki apparaissent pas la ou y fo.
et les boutons sont placé a peu pres mais j'ai l'impression que c pas les bonne methodes que j'utilise dans ce cas alors tout conseils seront les bienvenus ;)
 

Code :
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. public class Gui_swing
  6. {
  7. private static String label_Login  = new String ("Login" );
  8. private static String label_Logout = new String ("Logout" );
  9. private static String label_Logged = new String ("You are Logged as 123456" );
  10. private static JTextField logText = new JTextField("Tapez votre Login ici" );
  11. private static JPasswordField passText = new JPasswordField();
  12. public static void vue()
  13. {
  14.  /* la frame principale s'appelle main */
  15.  JFrame main    = new JFrame("Client of Virtual Class System" );
  16.  /* les frames interne seront ajouter au top container JFrame */
  17.  JInternalFrame login  = new JInternalFrame("Login Frame" );
  18.  JInternalFrame browser  = new JInternalFrame("Browser Frame" );
  19.  /* on creer 2 bouttons pour login et logout et un label indiquant le nom du connecté */
  20.  JButton bLogin   = new JButton(label_Login);
  21.  JButton bLougout  = new JButton(label_Logout);
  22.  final JLabel lLogged   = new JLabel(label_Logged);
  23.  /* on s'occupe des parametres de la frame interne de login */
  24.  lLogged.setLabelFor(bLogin);
  25.  login.setClosable(false);
  26.  login.setResizable(true);
  27.  login.setVisible(true);
  28.  login.setBounds(0,0,250,480);
  29.  JPanel paneA = new JPanel();
  30.  paneA.setBounds(new Rectangle(0,320,20,10));
  31.  paneA.setSize(new Dimension(130,130));
  32.  paneA.add(bLogin);
  33.  JPanel paneB = new JPanel();
  34.  paneB.setBounds(new Rectangle(130,320,20,10));
  35.  paneB.setSize(new Dimension(120,120));
  36.  paneB.add(bLougout);
  37.  paneA.add(lLogged);
  38.  JPanel paneC = new JPanel();
  39.  paneC.setBounds(new Rectangle(250,150,30,10));
  40.  paneC.setSize(new Dimension(40,40));
  41.  paneC.add(logText);
  42.  JPanel paneD = new JPanel();
  43.  paneD.setBounds(new Rectangle(250,190,30,10));
  44.  paneD.setSize(new Dimension(40,40));
  45.  paneD.add(passText);
  46.  login.getContentPane().add(paneA);
  47.  login.getContentPane().add(paneB);
  48.  login.getContentPane().add(paneC);
  49.  login.getContentPane().add(paneD);
  50.  /* on s'occupe des paramtres de la frame interne du browser */
  51.  browser.setClosable(false);
  52.  browser.setResizable(true);
  53.  browser.setSize(new Dimension(100,100));
  54.  browser.setLocation(200,0);
  55.  browser.setVisible(true);
  56.  browser.setBounds(200,0,540,480);
  57.  /* on s'occupe de la main frame */
  58.  main.getContentPane().add(login);
  59.  main.getContentPane().add(browser);
  60.  main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  61.  main.setSize(640,480);
  62.  main.setVisible(true);
  63. }
  64. }


 
PS: Si vous repondez par pitié repondez pour repondre et pas pour augmenter votre nb de poste ou pour pourrir mon topic REponse utile seulement ( cf mon ancien topic sur les sockets vous comprendrez pq je fais ce PS j'espere ;) )  
 
Amicalement Qxn
 

Reply

Marsh Posté le 23-04-2003 à 12:28:36   

Reply

Marsh Posté le 23-04-2003 à 13:47:54    

Su tu utilisais un ou plusieurs layout, ca serait peut etre plus simple ?


---------------
Light is right
Reply

Marsh Posté le 23-04-2003 à 14:18:56    

J'avais eu le meme genre de problème pdt mon projet cette année et j'ai demandé à un prof comment résoudre le problème. En gros il m'a dit que c'était chaud et qu'il fallait bidouiller. Pour Aligner les texfields j'ai été obligée de rajouter des espaces avant ou apres...

Reply

Marsh Posté le 24-04-2003 à 13:11:40    

Nerisson a écrit :

Su tu utilisais un ou plusieurs layout, ca serait peut etre plus simple ?


 
ba vi je veux bien mais je suis debutant en java et je maitrise pas trop les concept du layout ( meme avec la doc lol )

Reply

Marsh Posté le 24-04-2003 à 13:12:35    

Tchoupinette a écrit :

J'avais eu le meme genre de problème pdt mon projet cette année et j'ai demandé à un prof comment résoudre le problème. En gros il m'a dit que c'était chaud et qu'il fallait bidouiller. Pour Aligner les texfields j'ai été obligée de rajouter des espaces avant ou apres...


 
serieux si porc que ca ?

Reply

Marsh Posté le 24-04-2003 à 14:20:17    

heu je viens de refaire avec un GrigLayout mais spa genial ca me divise tout en ligne et colone personne a un truc plus propre genre ou je peut metre la position exact de ce que je veux ;)

Reply

Marsh Posté le 24-04-2003 à 15:31:14    

qxn a écrit :

heu je viens de refaire avec un GrigLayout mais spa genial ca me divise tout en ligne et colone personne a un truc plus propre genre ou je peut metre la position exact de ce que je veux ;)


Bah c'est justement le but d'un GridLayout de tout diviser en lignes et colonnes... Tu peut peut etre essayer des autres comme VerticalFlowLayout, BorderLayout ou GribdBagLayout.


---------------
Light is right
Reply

Marsh Posté le 25-04-2003 à 09:15:29    

un ptit exemple pour le gridBagLayout, parceque ce n'est pas facile de le maitriser, surtout lorsque tu debutes!
 
 
Le code:
http://b.kostrzewa.free.fr/java/td [...] ayout.java
 
 
Le resultat:
http://b.kostrzewa.free.fr/java/td [...] ayout.html
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed