Boite de dialogue tarde pour s'afficher!

Fermé
boudir313 - 9 avril 2012 à 10:56
Bonjour, j'ai réalisé un petite application et j'ai une boite de dialogue à afficher à l'utilisateur dont le code est donné ci-dessous. mon problème est le suivant: quant je fait appel à la boite de dialogue elle tarde beaucoup pour s'afficher (non pas la fenêtre en tout mais son contenu). alors je me demandé est-ce que le problème réside dans mon code?!!!

voila mon code écrit en java:

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

@SuppressWarnings("serial")
public class NumericFunctionDialog extends JDialog {

	private JPanel contentPanel;
	private JTextField textField_1;
	private JTextField textField;
	private JComboBox comboBox;
	@SuppressWarnings("unused")
	private Controller controller;
	


	/**
	 * Create the dialog.
	 */
	public NumericFunctionDialog(final Controller controller) {
		setResizable(false);
		this.controller = controller;
		setTitle(controller.preferences.getLocalizedString("DEGITAL_FORM_TITLE"));
		setBounds(100, 100, 398, 300);
		contentPanel = new JPanel();
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		
		
		
		textField_1 = new JTextField();
		contentPanel.setLayout(null);
		textField_1.setBounds(100, 137, 244, 22);
		contentPanel.add(textField_1);
		
		textField = new JTextField();
		textField.setBounds(100, 183, 244, 22);
		contentPanel.add(textField);
		
		final JLabel lblNewLabel_1 = new JLabel(controller.preferences.getLocalizedString("DEGITAL_FORM_INDICATION") + "15}");
		lblNewLabel_1.setBounds(28, 80, 210, 30);
		lblNewLabel_1.setFont(new Font("Arial", Font.PLAIN, 13));
		contentPanel.add(lblNewLabel_1);
		
		JLabel lblNewLabel = new JLabel("1");
		lblNewLabel.setBounds(62, 137, 10, 22);
		lblNewLabel.setFont(new Font("Franklin Gothic Book", Font.BOLD, 16));
		contentPanel.add(lblNewLabel);
		
		JLabel label = new JLabel("0");
		label.setBounds(62, 183, 10, 22);
		label.setFont(new Font("Franklin Gothic Book", Font.BOLD, 16));
		contentPanel.add(label);
		
		comboBox = new JComboBox();
		comboBox.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent arg0) {
				int x = Integer.valueOf(comboBox.getSelectedItem().toString());
				x = (int) Math.pow(2, x);
				lblNewLabel_1.setText(controller.preferences.getLocalizedString("DEGITAL_FORM_INDICATION") + String.valueOf(x-1)+"}");
			}
		});
		comboBox.setFont(new Font("Tahoma", Font.BOLD, 11));
		comboBox.setModel(new DefaultComboBoxModel(new Integer[] {1, 2, 3, 4, 5, 6, 7, 8}));
		comboBox.setSelectedIndex(3);
		comboBox.setBounds(269, 37, 39, 20);
		contentPanel.add(comboBox);
		
		JLabel lblNewLabel_2 = new JLabel((controller.preferences.getLocalizedString("NUMBER_OF_VARIABLES")));
		lblNewLabel_2.setFont(new Font("Times New Roman", Font.BOLD, 12));
		lblNewLabel_2.setBounds(95, 37, 164, 20);
		contentPanel.add(lblNewLabel_2);
		
		JPanel buttonPane = new JPanel();
		buttonPane.setLayout(new FlowLayout(FlowLayout.CENTER));
		getContentPane().add(buttonPane, BorderLayout.SOUTH);
				
			JButton cancelButton = new JButton((controller.preferences.getLocalizedString("ButtonCancel")));
			cancelButton.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
						dispose();
					}});
			JButton okButton = new JButton("OK");
			okButton.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
						controller.simplifyNumericFunction(getSets0(),getSets1());
						dispose();
					}});
			okButton.setActionCommand("OK");
			buttonPane.add(okButton);
			getRootPane().setDefaultButton(okButton);
			cancelButton.setActionCommand("Cancel");
			buttonPane.add(cancelButton);
			this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
			this.setVisible(true);	
		}




merci pour tout aide!!