Bonjour,
J'ai un petit souci avec l'affichage d'une combobox dans une boite de dialogue. La plupart du temps je n'arrive pas a ouvrir/deployer ma combobox (work around: cliquer en dehors => perte de focus et revenir sur la boite de dialogue).
J'ai simplifie le code au maximum.
Ca fonctionne tres bien quand je le lance en tant qu'application sous Eclipse par exemple, mais ca bug avec IE.
Est ce que quelqu'un a une idee.
Merci d'avance.
Tof
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 package combo1; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class mainApplet extends JApplet { private static final long serialVersionUID = -1; Frame frame = (Frame)SwingUtilities.getAncestorOfClass(Frame.class, this); public mainApplet() { super(); } public void init() { this.setSize(700, 400); JPanel homePanel = new JPanel(new BorderLayout()); JPanel titlePanel = new JPanel(); JLabel titleLabel = new JLabel("Welcome"); titlePanel.add(titleLabel); JPanel messagePanel = new JPanel(); JLabel messageLabel = new JLabel("Open the option menu..."); messagePanel.add(messageLabel); homePanel.add(titlePanel, BorderLayout.NORTH); homePanel.add(messagePanel, BorderLayout.SOUTH); setContentPane(homePanel); createMenu(); } private void createMenu() { JMenuBar mBar = new JMenuBar(); setJMenuBar(mBar); JMenu jm = new JMenu("Options"); mBar.add(jm); // Change the client ActionListener actionOption = new ActionOption(); JMenuItem menuClient = new JMenuItem("Open dialog box..."); menuClient.addActionListener(actionOption); jm.add(menuClient); } class ActionOption implements ActionListener { public void actionPerformed( ActionEvent e ) { OptionDlg dlg = new OptionDlg(frame, "Dialog box"); } } }
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 package combo1; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class OptionDlg extends JDialog { private static final long serialVersionUID = -1; public OptionDlg(Frame frame, String title) { super(frame, title); Container container = getContentPane(); container.setLayout(new BorderLayout()); setSize(500, 320); setResizable(false); Dimension dim = getToolkit().getScreenSize(); setLocation(dim.width/3, dim.height/3); init(container); setModal(true); setVisible(true); } private void init(Container container) { ActionOption action = new ActionOption(); DefaultComboBoxModel comboModelTest = new DefaultComboBoxModel(); String[] Tests = {"Test 1", "Test 2", "Test 3", "Test 4", "Test 5", "Test 6", "Test 7", "Test 8", "Test 9", "Test 10", "Test 11", "Test 12", "Test 13", "Test 14", "Test 15", "Test 16" }; for(int i = 0 ; i < 16 ; i++) { comboModelTest.addElement(Tests[i]); } JComboBox comboTest = new JComboBox(comboModelTest); comboTest.setSelectedIndex(0); Dimension dim = new Dimension(80, 30); JButton okButton = new JButton("OK"); okButton.setPreferredSize(dim); okButton.addActionListener(action); JPanel panel1 = new JPanel(); panel1.add(comboTest); JPanel panel2 = new JPanel(); panel2.add(okButton); container.add(panel1, BorderLayout.CENTER); container.add(panel2, BorderLayout.SOUTH); } class ActionOption implements ActionListener { public void actionPerformed( ActionEvent e ) { dispose(); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <html> <body> <applet code=combo1.mainApplet.class width="100%" height="100%" > </applet> </body> </html>
Partager