public class JFrameWithPanel extends JFrame implements ActionListener, ItemListener
{
int packageIndex;
double price;
double[] prices = {49.99, 39.99, 34.99, 99.99};
DecimalFormat money = new DecimalFormat("$0.00");
JLabel priceLabel = new JLabel("Total Price: "+price);
JButton button = new JButton("Check Price");
JComboBox packageChoice = new JComboBox();
JPanel pane = new JPanel();
TextField text = new TextField(5);
JButton accept = new JButton("Accept");
JButton decline = new JButton("Decline");
JCheckBox serviceTerms = new JCheckBox("I Agree to the Terms of Service.", false);
JTextArea termsOfService = new JTextArea("This is a text area", 5, 10);
public JFrameWithPanel()
{
super("JFrame with Panel");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pane.add(packageChoice);
setContentPane(pane);
setSize(250,250);
setVisible(true);
packageChoice.addItem("A+ Certification");
packageChoice.addItem("Network+ Certification ");
packageChoice.addItem("Security+ Certifictation");
packageChoice.addItem("CIT Full Test Package");
pane.add(button);
button.addActionListener(this);
pane.add(text);
text.setEditable(false);
text.setBackground(Color.WHITE);
text.addActionListener(this);
pane.add(termsOfService);
termsOfService.setEditable(false);
termsOfService.setBackground(Color.lightGray);
pane.add(serviceTerms);
serviceTerms.addItemListener(this);
pane.add(accept);
accept.addActionListener(this);
pane.add(decline);
decline.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
packageIndex = packageChoice.getSelectedIndex();
price = prices[packageIndex];
text.setText("$"+price);
Object source = e.getSource();
if(source == accept)
{
if(serviceTerms.isSelected() == false)
{
JOptionPane.showMessageDialog(null,"Please accept the terms of service.", "Terms of Service", JOptionPane.ERROR_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(null,"Thank you. We will now move on to registering your product.");
pane.dispose();
}
}
else if(source == decline)
{
System.exit(0);
}
}
public void itemStateChanged(ItemEvent e)
{
int select = e.getStateChange();
}
public static void main(String[] args)
{
String value1;
int constant = 1, invalidNum = 0, answerParse, packNum, packPrice;
JOptionPane.showMessageDialog(null,"Hello!"+"\nWelcome to the CIT Test Program.");
JOptionPane.showMessageDialog(null,"IT WORKS!");
}
}//class
Comment fermer ce cadre pour que mes boîtes de dialogue de message JOptionPane puissent continuer dans le programme sans quitter complètement le programme.Comment fermer une JFrame au milieu d'un programme
EDIT: J'ai essayé .Dispose() mais je reçois ceci:
cannot find symbol
symbol : method dispose()
location: class javax.swing.JPanel
pane.dispose();
^
C'est quelque chose de complètement différent. Dans votre méthode principale vous n'appelez même pas votre 'JFrameWithPanel' Essayez d'ajouter:' new JFrameWithPanel(); 'dans la dernière ligne de la méthode' main' et voyez la différence – OscarRyz
Oui, c'est exactement ce que fait, voir ma mise à jour . Cliquer sur Accepter affiche le dialogue "Merci". – OscarRyz
Les deux premiers? Bienvenue sur CIT et IT WORKS? Probablement vous avez juste les supprimer. – OscarRyz