Bonjour,
j ai 2 soucis :
- Quand je lance mon application, ma frame principal s'affiche mais sans mais objet a l'interieur(ex -> bar de menu). Si je redimensionne alors tout s'affiche ! Une idée ?
(code apres)
- Un autre problèmre d affichage !
Je cré des frames internes dans ma frame principales. J'ai une fonction qui me permet d en rajouter autant que je veux. Elle marche car quand j affiche els donnnées de la fonction avec des systemes.out.println() il n y a rien de nul ! Mais a l ecran rien ne s affiche ! Une idee ?
Voici mon code !
FRAME PRINCIPAL
MENU BAR
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 package interfaceCompta; import java.awt.BorderLayout; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; public class MainInterface extends JFrame { /** * Bar de menu */ BarDeMenu barDeMenu = null; /** * Bureau */ JDesktopPane desktop = null; public Integer PALETTE_LAYER = new Integer(1); /** * Compteur de frame interne */ int windowCount = 0; /** * Constructeur */ public MainInterface() { barDeMenu = new BarDeMenu(); setJMenuBar(barDeMenu); desktop = new JDesktopPane(); this.getContentPane().add(desktop, BorderLayout.CENTER); //getContentPane().setLayout(null); show(); this.setBounds(0,0,800,600); PartageDonnees.getInstance().setMain(this); } /** * Ajout d'une nouvelle compta */ public JInternalFrame createInternalFrame(String name , Integer layer, int width, int height) { JInternalFrame jif = new JInternalFrame(); if(name==null || name.equals("")) { jif = new JInternalFrame("Compta" + windowCount + " "); } else { jif = new JInternalFrame(name); } // set properties jif.setClosable(true); jif.setMaximizable(true); jif.setResizable(true); windowCount++; System.out.println(windowCount); jif.show(); desktop.add(jif); // Set this internal frame to be selected try { jif.setSelected(true); } catch (java.beans.PropertyVetoException e2) { } return jif; } }
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 package interfaceCompta; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; public class BarDeMenu extends JMenuBar { /** * Menu Fichier */ JMenu fichierMenu = null; JMenuItem open = null; JMenuItem save = null; JMenuItem newCompta = null; public BarDeMenu() { /*Pour le menu fichier*/ fichierMenu = new JMenu("Fichier"); newCompta = new JMenuItem("Nouvelle comptabilité"); open = new JMenuItem("Ouvrir"); save = new JMenuItem("Sauvegarder"); newCompta.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { MainInterface m = PartageDonnees.getInstance().getMain(); m.createInternalFrame("",m.PALETTE_LAYER,700,500); } } ); fichierMenu.add(newCompta); fichierMenu.add(open); fichierMenu.add(save); this.add(fichierMenu); } }
Partager