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!!
Afficher la suite