Créer un label dans une classe et l'afficher sur le form1

Résolu
fredlefou - 2 déc. 2012 à 21:07
 mouhamedba911 - 10 janv. 2013 à 08:46
Salut à tous,

Je tente de créer un label dans une classe que je nomme Block et que j'appel dans mon form1. Le label ne s'affiche pas.

voici le code du Block:
public class Block
{
Form frm = new Form();

public void Makelbl(string Name)
{ Label lbl = new Label();
lbl = new System.Windows.Forms.Label();

frm.SuspendLayout();
//
// lbl
//
lbl.AutoSize = true;
lbl.Location = new System.Drawing.Point(50, 50);
lbl.Name = Name;
lbl.Size = new System.Drawing.Size(35, 13);
lbl.TabIndex = 0;
lbl.Text = Name;
//
// Form1
//
frm.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
frm.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
frm.ClientSize = new System.Drawing.Size(100, 100);
frm.Controls.Add(lbl);
frm.Name = "Form1";
frm.ResumeLayout(true );
frm.PerformLayout();
}
}

et celui dans le form1:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Block blk_01 = new Block();
string name = "lbl_0001";
blk_01.Makelbl(name);
}
}
FredLeFou

6 réponses

Merci! Ca fonctionne.

voici ce que j'ai fais
public Form1()
{
InitializeComponent();
Block blk_01 = new Block();
string name = "lbl_0001";
blk_01.Makelbl(name,this);

et pour Block
public void Makelbl(string Name,Form frm)

Solution Simple...Encore merci!

FredLeFou
3
Whismeril Messages postés 19073 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 23 juin 2024 657
3 déc. 2012 à 07:04
De rien, quand tu postes du code pense à utiliser les balises qui vont bien, je cite NHenry:
Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )

Whismeril
3
mouhamedba911
9 janv. 2013 à 11:10
salut a vous...je sollicite votre aide en java..
je suis tout nouveau en java et je voudrai insérer 1 Label nommé CONNEXION juste au dessus de mes TextFields et deux Label LOGIN et PASSWORD accolés aux TextFields..1 boutons nommé SOUSCRIRE en bas à gauche de l'interface un lien de redirection...
et au autre bouton CONNECTER..
voici le code que même télécharger ici pour me perfectionner en java...
Merci d'avance


package Ihm;    
import javax.swing.*;
    import java.awt.*;
    public class LancementApplication
    {
    public static void main(String[] args)
    {
    SwingUtilities.invokeLater(new
    Runnable()
    {
    public void run()
    {
    JFrame.setDefaultLookAndFeelDecorated(true);
    LayoutFrame frame = new LayoutFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
    }
    });
    }
    }
    class LayoutFrame extends JFrame
    {
    public LayoutFrame()
    {
    setTitle("Analyse de coordonnées d'utilisateur");
    createMainPanel();
    createTextFieldPanel();
    createButtonPanel();
    mainPanel.add(txtPanel);
    mainPanel.add(buttonPanel);
    getContentPane().add(mainPanel);
    }
    /** Crée un panneau de champs */
    private void createTextFieldPanel()
    {
    txtPanel = new JPanel();
    txtPanel.setLayout(new BoxLayout(txtPanel, BoxLayout.PAGE_AXIS));
    createTextField(txtFirstName);
    createTextField(txtLastName);
    createTextField(txtTelNumber);
    txtPanel.setBorder(BorderFactory.createEmptyBorder(200,200,200,200));
    }
    /**
    * Crée un nouveau champs de texte
    * @param txtF Le bouton à créer
    */
    private void createTextField(JTextField txtF)
    {
    txtF = new JTextField(20);
    txtPanel.add(txtF);
    txtPanel.add(Box.createRigidArea(new Dimension(0,10)));
    }
    /** Crée un panneau de boutons */
    private void createButtonPanel()
    {
    buttonPanel = new JPanel();
    buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS));
    createButton(btnOk, "Valider");
    createButton(btnCancel, "Quitter");
    }
    /**
    * Crée un bouton et l'ajoute au panneau de bouton
    * @param button Le bouton a créer
    * @param name Nom du bouton
    */
    private void createButton(JButton button, String name)
    {
    button = new JButton(name);
    button.setAlignmentX(JButton.RIGHT_ALIGNMENT);
    buttonPanel.add(button);
    }
    private void createMainPanel()
    {
    mainPanel = new JPanel();
    mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.PAGE_AXIS));
    }
    JPanel mainPanel;
    JPanel txtPanel;
    JPanel buttonPanel;
    JTextField txtFirstName;
    JTextField txtLastName;
    JTextField txtTelNumber;
    JButton btnOk;
    JButton btnCancel;
    }
3
Whismeril Messages postés 19073 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 23 juin 2024 657
9 janv. 2013 à 17:36
Bonjour, tu postes sur une discussion C#, pour une aide en JAVA. Tu as toutes les chances de ne pas avoir de réponse.

Crees une discussion dans le forum Java


Whismeril
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mouhamedba911
10 janv. 2013 à 08:46
bonjour whismeril...
vous avez raison j'ai pas prêté attention à ça..
Sinon Merci pour la remarque...
Cdlt
3
Whismeril Messages postés 19073 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 23 juin 2024 657
2 déc. 2012 à 22:49
Dans ta classe Block tu crées une nouvelle instance de Form1.
Donc tu ajoutes ton label dans une autre forme, que tu n'affiches pas.

Si tu veux afficher ton label dans la première forme, je te conseille de passer la référence dans les paramètres de Makelbl.

public void Makelbl(string Name, Form1 frm) 



Whismeril
0
Rejoignez-nous