2016-12-09 7 views
1

これは私のコードで、折りたたみ作業をするのに適しています: "taux de change"ボタンをクリックすると、他のフレームが表示され、現在のフレームが表示されなくなりますが、ボタンは動作しません。エラーメッセージが表示されます私がそれをクリックすると、間違ったことが起こっているのを見逃してしまいます。私のjbuttonは必要に応じて動作しませんか?

that's my code: 
package ResourceTP3; 

import java.awt.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.*; 

public class ConversionDevise extends JFrame implements ActionListener { 

    double tt=120.0; 
    Pane4 mr; 

    JPanel pane1=new JPanel(), pane2=new JPanel(),pane3=new  JPanel(),pane4=new JPanel(),p=new JPanel(); 

    public JButton b1=new JButton("euro->dinar"),b2=new JButton("dinar- >euro"),b3=new JButton("taux de change"); 
    public JLabel lab1=new JLabel("dinar :"),lab2=new JLabel("euro :"); 
    public JTextField tx1=new JTextField(13),tx2=new JTextField(13); 

    public ConversionDevise(){ 
     setTitle("Conversion Devise"); 

     b1.addActionListener(this); 
     b2.addActionListener(this); 
     b3.addActionListener(this); 

     pane1.doLayout(); 
     pane1.add(lab2); 
     pane1.add(tx1); 

     pane2.doLayout(); 
     pane2.add(b1); 
     pane2.add(b2); 

     pane3.doLayout(); 
     pane3.add(lab1); 
     pane3.add(tx2); 

     p.doLayout(); 
     p.add(b3); 

     pane4.setLayout(new GridLayout(4,1)); 
     pane4.add(pane1); 
     pane4.add(pane2); 
     pane4.add(pane3); 
     pane4.add(p); 

      setDefaultCloseOperation(EXIT_ON_CLOSE); 
      getContentPane().add(pane4); 
      setLocationRelativeTo(null); 
      pack(); 
      setVisible(true); 
    } 

    public void actionPerformed(ActionEvent b) { 
     JButton a=(JButton)b.getSource(); 

     if(a.equals(b1)){ 
      int x; 
      double y; 
      x=Integer.parseInt(tx1.getText()); 
      y=(double) (x/tt); 
      String msg="votre montant est = "+y; 
      JOptionPane.showConfirmDialog(null, msg,"montant aprés changement ",JOptionPane.PLAIN_MESSAGE); 
     } 
     else{ 
      int x; 
      double y; 
      x=Integer.parseInt(tx2.getText()); 
      y=(double) (x*tt); 
      String msg="votre montant est = "+y; 
      JOptionPane.showConfirmDialog(null, msg,"montant aprés changement ",JOptionPane.PLAIN_MESSAGE); 
     } 


     if(a.equals(b3)){ 
      this.removeAll(); 

      mr=new Pane4(); 
      setDefaultCloseOperation(EXIT_ON_CLOSE); 
      getContentPane().add(mr); 
       setLocationRelativeTo(null); 
      pack(); 
      setVisible(true); 

      } 

     if(a.equals(b)){ 
      tt=Integer.parseInt(mr.t.getText()); 
      } 

     } 


    public static void main(String[] args) { 
     new ConversionDevise(); 
    } 
} 

that's the error that comes when i click on the button

+0

空の '' String''を数値に変換しようとしています。編集ボックスが空のため、文字列は空です。 – f1sh

+0

しかし、私はそれが実行中に値を与える...私が持っているproblmは "b3"と呼ばれるボタンである – marou

答えて

0

=(JButtonの)b.getSource()のJButton aを変更しようとします。 to String a = b.getActionCommand(); if(a.equals(b3))の代わりにif条件でif(a.equals( "taux de change"))を書いてください。それが動作します。

+0

もちろん他の部分も同様に変更します – Amani

+0

私はそれを試してみましょう) – marou

+0

は現在動作していますか? – Amani

関連する問題