J'ai un petit probleme,que je pense est lié a swing.
Le but,est de creer une fentre principal,avec a gauche,des ongletsqui sont en fait des jpanel,et ceux ci contiennent des Jcheckbox.
A droite(de la fenetre),je cree un jpanel,qui contient un bouton reset,
qui est sensé decoché tous les checkbox.
Mon idée etait de passer en parametre les references des differents onglets a l'objet panelstart ,et a partir de cet objet je decoche
tous les checkbox
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 import javax.swing.*; import java.awt.event.*; import java.awt.*; public class frame { public static void main(String[] args) { JFrame frame=new JFrame("Classification test"); //Creation de l'objet onglet qui gerent les onglets JTabbedPane onglets = new JTabbedPane(SwingConstants.TOP); //Onglet 1 panelservices onglet1 = new panelservices(); JLabel titreOnglet1 = new JLabel("Onglet 1"); onglet1.setPreferredSize(new Dimension(300, 80)); onglets.addTab("services", onglet1); onglet1.setPreferredSize(new Dimension(300, 80)); onglets.addTab("Systeme exploitation", onglet4); panelstart panel2=new panelstart(onglet1,onglet2,onglet3,onglet4); panel2.setLayout(new BoxLayout(panel2,BoxLayout.Y_AXIS)); JPanel panel1=new JPanel(); panel1.add(onglets); frame.getContentPane().add(BorderLayout.WEST,panel1); frame.getContentPane().add(BorderLayout.EAST,panel2); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(500,200); frame.setVisible(true); } }
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 import javax.swing.*; import java.awt.event.*; import java.awt.*; public class panelstart extends JPanel{ JButton bouton1; JButton bouton2; //References vers d'autres objets. panelservices onglet1; public panelstart(panelservices ongleser){ bouton1 = new JButton("Start"); add(bouton1); bouton2 = new JButton("Reset"); add(bouton2); bouton2.addActionListener(new ifield1()); onglet1=ongleser; } class ifield1 implements ActionListener{ public void actionPerformed(ActionEvent event) { onglet1.bouton2.setSelected(false); onglet1.bouton3.setSelected(false); } } }
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 import javax.swing.*; import java.awt.event.*; import java.awt.*; public class panelservices extends JPanel{ JPanel pannel; JCheckBox bouton1; JCheckBox bouton2; JCheckBox bouton3; public panelservices(){ pannel = new JPanel(); this.add(pannel); JCheckBox bouton1 = new JCheckBox("telnet"); pannel.add(bouton1); JCheckBox bouton2 = new JCheckBox("ftp"); pannel.add(bouton2); JCheckBox bouton3 = new JCheckBox("sql server"); pannel.add(bouton3); } }
Mais,j'obtient cela comme erreur:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at panelstart$ifield1.actionPerformed(panelstart.java:52)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Partager