Déjà essayer et même résultat
tu ai sur que l'appel a jMenuItem1ActionPerformed marche bien ?
met System.out.println(" action détecté sur mon menu ");
dans jMenuItem1ActionPerformed
et voir si il aura affichage dans la console
Alors j'ai saisie ceci sous netbeans
ce qui épate c'est que ça compile sans erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * Form1.java * * Created on 8 août 2009, 10:21:26 */ package Application; import javax.swing.ImageIcon; import javax.swing.JLabel; /** * * @author */ public class Form1 extends javax.swing.JFrame { /** Creates new form Form1 */ public Form1() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jTabbedPane1 = new javax.swing.JTabbedPane(); jPanel1 = new javax.swing.JPanel(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); jMenu2 = new javax.swing.JMenu(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 395, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 251, Short.MAX_VALUE) ); jTabbedPane1.addTab("Carte", jPanel1); jMenu1.setText("Fichier"); jMenuItem1.setText("Charger"); jMenuItem1.setToolTipText("Charger une carte"); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem1ActionPerformed(evt); } }); jMenu1.add(jMenuItem1); jMenuBar1.add(jMenu1); jMenu2.setText("Edit"); jMenuBar1.add(jMenu2); setJMenuBar(jMenuBar1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE) ); pack(); }// </editor-fold> //Si un clic survient sur Charger du menu Fichier private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { String urlImage = "D:/A surveiller/plan-vierge.png"; //L'endroit ou est stocker l'image ImageIcon imageCarte = new ImageIcon(urlImage); //Crée une image dans le tampon JLabel imageInComponent = new JLabel(imageCarte); //Instancie le JLabel qui contiendra l'image jPanel1.add(imageInComponent); //Assigne au jPanel le JLabel avec l'image jPanel1.revalidate(); //Reconstruit le jPanel1 //ImageIcon icon = new ImageIcon("yoda.gif"); //JLabel img = new JLabel(icon); //monPanel.add(img); } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Form1().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JMenu jMenu1; private javax.swing.JMenu jMenu2; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JPanel jPanel1; private javax.swing.JTabbedPane jTabbedPane1; // End of variables declaration }
il te manque
Code : Sélectionner tout - Visualiser dans une fenêtre à part imageInComponent.setBounds(0,0,100,100);
Toujours pas d'image
Comment changer de layout depuis netBeans ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { String urlImage = "D:/A surveiller/plan-vierge.png"; //L'endroit ou est stocker l'image ImageIcon imageCarte = new ImageIcon(urlImage); //Crée une image dans le tampon JLabel imageInComponent = new JLabel(imageCarte); //Instancie le JLabel qui contiendra l'image jPanel1.setBounds(0, 0, 100, 100); //Place la taille de l'image jPanel1.add(imageInComponent); //Assigne au jPanel le JLabel avec l'image jPanel1.revalidate(); //Reconstruit le jPanel1 }
j'ai oublié
changepar
Code : Sélectionner tout - Visualiser dans une fenêtre à part jPanel1.revalidateet encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part jPanel1.repaint();par
Code : Sélectionner tout - Visualiser dans une fenêtre à part String urlImage = "D:/A surveiller/plan-vierge.png";
Code : Sélectionner tout - Visualiser dans une fenêtre à part String urlImage = "D:\\A surveiller\\plan-vierge.png";
a tu remarqué ? j'ai édité mon message .
Oui j'ai remarqué.
Par contre je n'ai pas mis de scroll encore!
essaye avec une petite image ,le scroll si ton image est plus grand que ton panneau.
chez moi ,ton code marche bien
voila
si sa marche pas encore ,alors change ton image et vérifie le chemin et l'extension
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * Form1.java * * Created on 8 août 2009, 10:21:26 */ import javax.swing.ImageIcon; import javax.swing.JLabel; /** * * @author */ public class Form1 extends javax.swing.JFrame { /** Creates new form Form1 */ public Form1() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jTabbedPane1 = new javax.swing.JTabbedPane(); jPanel1 = new javax.swing.JPanel(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jMenuItem1 = new javax.swing.JMenuItem(); jMenu2 = new javax.swing.JMenu(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 395, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 251, Short.MAX_VALUE) ); jTabbedPane1.addTab("Carte", jPanel1); jMenu1.setText("Fichier"); jMenuItem1.setText("Charger"); jMenuItem1.setToolTipText("Charger une carte"); jMenuItem1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jMenuItem1ActionPerformed(evt); } }); jMenu1.add(jMenuItem1); jMenuBar1.add(jMenu1); jMenu2.setText("Edit"); jMenuBar1.add(jMenu2); setJMenuBar(jMenuBar1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE) ); pack(); }// </editor-fold> //Si un clic survient sur Charger du menu Fichier private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { String urlImage = "D:\\A surveiller\\plan-vierge.png"; //L'endroit ou est stocker l'image ImageIcon imageCarte = new ImageIcon(urlImage); //Crée une image dans le tampon JLabel imageInComponent = new JLabel(imageCarte); //Instancie le JLabel qui contiendra l'image imageInComponent.setBounds(0,0,100,100); jPanel1.add(imageInComponent); //Assigne au jPanel le JLabel avec l'image jPanel1.repaint(); //Reconstruit le jPanel1 //ImageIcon icon = new ImageIcon("yoda.gif"); //JLabel img = new JLabel(icon); //monPanel.add(img); } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Form1().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JMenu jMenu1; private javax.swing.JMenu jMenu2; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JMenuItem jMenuItem1; private javax.swing.JPanel jPanel1; private javax.swing.JTabbedPane jTabbedPane1; // End of variables declaration }
. bonne journée
ajoute
en haut pour le code que je t'ais donné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2package Application;
bonne chance
Ca y est j'y suis arrivé
Par contre je ne voie que 100x100 suremet due au setBounds()
Ceci dit, je tente maintenant de mettre un scroll
Je ne sait pas vraiment. J'ai tout re coder à la main et maintenant ça fonctionne parfaitement.
Je me suis permis de faire une petite retouche de rien du tout:
De façon à faire directement la valeur width et height. Par contre je pense que le scroll devrais être automatique. A moins que le JLabel est une propriété autorisant le scrolling
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 //Si un clic survient sur Charger du menu Fichier private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { String urlImage = "D:\\A surveiller\\plan-vierge.png"; //L'endroit ou est stocker l'image ImageIcon imageCarte = new ImageIcon(urlImage); //Crée une image dans le tampon JLabel imageInComponent = new JLabel(imageCarte); //Instancie le JLabel qui contiendra l'image int imgWidth = imageCarte.getIconWidth(); int imgHeight = imageCarte.getIconHeight(); imageInComponent.setBounds(0,0,imgWidth,imgHeight); jPanel1.add(imageInComponent); //Assigne au jPanel le JLabel avec l'image jPanel1.repaint(); //Reconstruit le jPanel1 //JOptionPane.showMessageDialog(null, "Ok", "Message", JOptionPane.INFORMATION_MESSAGE); //jPanel1.revalidate(); //Reconstruit le jPanel1 }
Bonjour,
Je reprend ce matin le code que nous avons réalisé hier, de façon a l'étoffé un peu.
Comment je pourrait créer un scroll à l'image, si elle est trop grande ?
Comment je pourrait passé depuis ce bout de code au buffered en vue d'y appliqué les points cliquable ?
Ensuite je passerais à l'étape classe
Cordialement.
Afin de tenter de répondre à la première question, j'ai tout refait à 0!
Cette fois-ci, j'ouvre un onglet ou je crée des composants plutot que de les avoirs de façon ferme. Cela me permettra, plus tard, d'avoir une plus grande souplesse.
Voila donc ce que je viens de coder. Et ça fonctionne en partie.
En fait quand je dit en partie... J'ai bien un sans-blanc d'image en fond mais au dessus j'ai une sorte de carré gris. J'imagine que j'ai du me tromper quelque par mais ou ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 //Ouvre une carte private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { String urlImage = "D:/A surveiller/plan-vierge.png"; //L'endroit ou est stocker l'image ImageIcon carte = new ImageIcon(urlImage); //Crée une image dans le tampon int imgWidth = carte.getIconWidth(); //Récupère la largeur en pixel de l'image int imgHeight = carte.getIconHeight(); //Récupère la hauteur en pixel de l'image JScrollPane scroll = new JScrollPane(); //Crée un scroll JPanel panel = new JPanel(); //Crée un panel JLabel label = new JLabel(carte); //Crée un JLabel panel.add(label); panel.setBounds(0, 0, imgWidth, imgHeight); scroll.add(panel); //Assigne au scroll le panel scroll.setBounds(0, 0, imgWidth, imgHeight); //Taille du scroll jTabbedPane1.add("Carte", scroll); jTabbedPane1.repaint(); }
Voila du reste une image illustrant le résultat de mon code théorique
Cordialement
Bonjour,
Je suis toujours bloqué avec ce problème de carré gris et je ne voie aucun scroll apparaitre.
Soit je n'ai aucun scroll donc il ne s'affiche pas,
Soit quelque chose écrit au dessus et il n'apparait pas non plus
Quelqu'un aurais un élément de réponse pour sauver ce bout de code, ou faut-il tout reprendre à 0 ?
Cordialement.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager