Fonction qui ajoute un JLabel.
Fermé
snp3109
Messages postés
77
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
10 juillet 2014
-
25 mars 2013 à 21:31
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 26 mars 2013 à 19:21
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 26 mars 2013 à 19:21
A voir également:
- Fonction qui ajoute un JLabel.
- Fonction si et - Guide
- Ajouter un profil netflix payant - Accueil - Guide streaming
- Fonction moyenne excel - Guide
- Ignoré de ils m'ont ajouté snap - Forum Snapchat
- Nouveau tag ajouté - Forum Huawei
1 réponse
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
25 mars 2013 à 21:38
25 mars 2013 à 21:38
Bien sûr c'est même assez simple... le plus dur étant de l'intégrer correctement dans ton application existante.
Exemple :
Exemple :
public class fenetre { public static void main(String[] args) { final JFrame frame = new JFrame(); frame.setLayout(new FlowLayout()); final JButton button = new JButton("+"); frame.add(button); button.addActionListener(new ActionListener() { int n=1; public void actionPerformed(ActionEvent e) { frame.add(new JLabel(String.valueOf(n++))); frame.pack(); } }); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
25 mars 2013 à 22:38
Je vais essayé d'être le plus clair possible.
J'aimerai en cliquant sur le bouton "+" (le JButton plusanalogique) afficher dans le label textapercutrame "voie1". Si après j'appuie sur le bouton "+" (le JButton plustor) j'aimerai afficher "voie1" "tor1".
Si j'appuie une seconde voie sur le plusanalogique alors ça affichera "voie1" "tor1" "voie2" ... Ainsi de suite.
J'espère avoir était clair.
Je pense qu'il faudrait compléter les méthode compteuranalogiqueplus et compteurtorplus qui intéragissent directement avec les deux boutons "+".
Merci de ta patiente KX.
public class fenetre
{
int compteurtor = 0;
int compteurtanalogique = 0;
int compteurnbrvoie = 0;
int comteurapercutrame = 0;
private JLabel lab = null;
private JLabel lab1 = null;
private JLabel lab2 = null;
private JLabel lab3 = null;
private JLabel lab4 = null;
private JLabel lab5 = null;
private JLabel lab6 = null;
private JLabel lab7 = null;
private JLabel lab8 = null;
private JLabel lab9 = null;
private JLabel lab10 = null;
private JLabel lab11 = null;
private JLabel octetdeparture = null;
private JLabel octetend = null;
private JLabel checkum = null;
private JLabel textapercutrame;
private JTextField text;
private JTextField text1;
private StringBuilder sb;
private JComboBox cb = null;
private CheckboxGroup groupe = null;
private Checkbox checkbox1 = null;
private Checkbox checkbox2 = null;
private JButton plusanalogique = null;
private JButton moinsanalogique = null;
private JButton plustor = null;
private JButton moinstor = null;
private JButton valider = null;
private JButton annuler = null;
private JCheckBox jrmi1;
public fenetre()
{
JFrame fenetre =new JFrame("Outil de création de nouveaux formats de trame");
fenetre.setSize(new Dimension(500,550));
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pan=new JPanel();
pan.setBackground(new Color(71,145,203));
pan.setLayout(null);
lab=new JLabel("Nouveau SNR");
lab.setBounds(0,0,500,60);
pan.add(lab);
lab1=new JLabel("Nom du nouveau format de trame :");
lab1.setBounds(8,38,200,60);
pan.add(lab1);
text = new JTextField("NouveauSNR");
text.setBounds(206,58,110,20);
pan.add(text);
lab2=new JLabel("Définition de la trame");
lab2.setBounds(0,74,500,60);
pan.add(lab2);
lab3=new JLabel("Octet de départ : ");
lab3.setBounds(8,110,100,60);
pan.add(lab3);
text1 = new JTextField("FF");
text1.setBounds(105,130,30,20);
pan.add(text1);
lab7=new JLabel("Ajouter/Supprimer une voie analogique : ");
lab7.setBounds(8,154,230,50);
pan.add(lab7);
plusanalogique = new JButton("+");
plusanalogique.setBounds(300,154,41,41);
plusanalogique.addActionListener(new compteuranalogiqueplus());
pan.add(plusanalogique);
moinsanalogique = new JButton("-");
moinsanalogique.setBounds(342,154,41,41);
moinsanalogique.addActionListener(new compteuranalogiquemoins());
pan.add(moinsanalogique);
lab8=new JLabel("Ajouter/Supprimer une voie Tout Ou Rien(TOR) : ");
lab8.setBounds(8,190,270,50);
pan.add(lab8);
plustor= new JButton("+");
plustor.setBounds(300,196,41,41);
plustor.addActionListener(new compteurtorplus());
pan.add(plustor);
moinstor = new JButton("-");
moinstor.setBounds(342,196,41,41);
moinstor.addActionListener(new compteurtormoins());
pan.add(moinstor);
lab4=new JLabel("Dans la ");
lab4.setBounds(8,232,50,65);
pan.add(lab4);
cb=new JComboBox();
cb.setBounds(55,255,130,20);
pan.add(cb);
lab5=new JLabel("Nombre d'octets : ");
lab5.setBounds(190,232,105,65);
pan.add(lab5);
CheckboxGroup groupe = new CheckboxGroup();
checkbox1=new Checkbox("1",groupe,true);
checkbox1.setBounds(300,251,30,30);
pan.add(checkbox1);
checkbox2=new Checkbox("2",groupe,false);
checkbox2.setBounds(300,267,40,40);
pan.add(checkbox2);
checkum = new JLabel("Checkum : ");
checkum.setBounds(8,280,105,65);
pan.add(checkum);
jrmi1 = new JCheckBox();
jrmi1.setSelected(true);
jrmi1.setBounds(70,306,20,15);
pan.add(jrmi1);
lab9=new JLabel("Aperçu de la trame");
lab9.setBounds(0,340,500,60);
pan.add(lab9);
lab6=new JLabel("Nombre de voies : ");
lab6.setBounds(8,390,110,20);
pan.add(lab6);
lab11 = new JLabel("0");
lab11.setBounds(115,389,25,25);
pan.add(lab11);
octetdeparture = new JLabel(" FF");
octetdeparture.setOpaque(true);
octetdeparture.setBackground(Color.yellow);
octetdeparture.setBounds(8,430,22,25);
pan.add(octetdeparture);
octetend= new JLabel(" CRC");
octetend.setOpaque(true);
octetend.setBackground(Color.red);
octetend.setBounds(250,430,30,25);
pan.add(octetend);
textapercutrame = new JLabel("");
textapercutrame.setOpaque(true);
textapercutrame.setBackground(Color.green);
textapercutrame.setBounds(45,430,200,25);
pan.add(textapercutrame);
JButton valider= new JButton("Valider");
valider.setBounds(140,475,90,30);
pan.add(valider);
JButton annuler= new JButton("Annuler");
annuler.setBounds(250,475,90,30);
pan.add(annuler);
fenetre.setContentPane(pan);
fenetre.setVisible(true);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private class compteuranalogiqueplus implements ActionListener {
public void actionPerformed(ActionEvent event){
compteurtanalogique++;
lab11.setText(Integer.toString(compteurtanalogique+compteurtor));
cb.addItem("Voie analogique"+compteurtanalogique); }}
private class compteuranalogiquemoins implements ActionListener {
public void actionPerformed(ActionEvent event){
cb.removeItem("Voie analogique"+compteurtanalogique);
if(compteurtanalogique>0){
compteurtanalogique--;
lab11.setText(Integer.toString(compteurtanalogique+compteurtor));}}}
private class compteurtorplus implements ActionListener {
public void actionPerformed(ActionEvent event) {
compteurtor++;
lab11.setText(Integer.toString(compteurtor+compteurtanalogique));}}
private class compteurtormoins implements ActionListener {
public void actionPerformed(ActionEvent event)
{ if(compteurtor>0){
compteurtor--;
lab11.setText(Integer.toString(compteurtor+compteurtanalogique));}}}
public static void main(String[] args)
{
new fenetre();
}
}
26 mars 2013 à 07:19
26 mars 2013 à 09:04
Merci de ton aide.
26 mars 2013 à 19:21
Plusieurs manières de faire :
Soit avec getText/setText brut, mais il faut retirer les balises <html> et </html> avant de faire la concaténation de texte, pour enfin remettre les <html> et </html>
Une manière un peu plus propre de faire est de stocker la chaîne de caractères dans un String Builder sans les <html> et </html> qu'on ne rajoute que dans le setText (on n'a donc pas besoin de faire de getText, donc pas besoin d'enlever les <html> et </html> précédents)
Dans ces deux cas on ne conserve qu'un seul label, ce qui est plus simple à gérer qu'une multitude de labels qui s'accumulent.
PS. j'ai augmenté la largeur de textapercutrame pour pouvoir mieux voir :
textapercutrame.setBounds(45,430,190,25);