26. maj 2006 - 19:15Der er
2 kommentarer og 1 løsning
JDialog/JOptionpane med event handler
Hej eksperter
Jeg leder efter vejledning. Jeg er ved at lave nogle dialog bokse til mit program, og forsøgt at arbejde med et JOptionPane til en ConfirmDialog, med option type OK_CANCEL_OPTION. Tricket er at efter hvad der vælges, skal jeg i første omgang bare skive til en JLabel i GUI, for at se om det virker. Men jeg kan ikke få events til virke rigtigt. Hvad kan jeg gøre galt? Jeg poster lige den kode jeg har snublet mig frem til:
public void showExit(JFrame frame) {
JOptionPane jop = new JOptionPane(); JOptionPane.showConfirmDialog(frame, "Close MySheeps", "Do you want to exit MySheeps?",JOptionPane.OK_CANCEL_OPTION); JDialog exit = new JDialog(); exit.setContentPane(jop); exit.setSize(new Dimension(200,100)); Dimension d = new Dimension(frame.getSize()); exit.setLocation((d.width/2)-100,(d.height/2)-50); exit.setVisible(true); int value = ((Integer)jop.getValue()).intValue(); if (value == JOptionPane.YES_OPTION) { // Sæt status til bruger valgte luk } else if (value == JOptionPane.CANCEL_OPTION) { // Sæt status til bruger valgte ikke luk }
private void confirm(java.awt.event.ActionEvent evt) { int choice = JOptionPane.showConfirmDialog(this, "Dette er en test, tryk en af knapperne.");
if(choice == JOptionPane.CANCEL_OPTION) userChoice.setText("Der blev trykket på \"Cancel\""); else if(choice == JOptionPane.YES_OPTION) userChoice.setText("Der blev trykket på \"Yes\""); else userChoice.setText("Der blev trykket på \"No\""); }
public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new NewJFrame().setVisible(true); } }); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.