• 0
M!ss Programmer

مالخطأ في هذا الكود ؟ !

سؤال

السلام عليكم ...

عندي كود لبرنامج جافا .. يقوم بالتحويل من Celsius and Fahrenheit

ليه فيه الايرور .. ما ادري

يطلع الخطأ عند الـ ActionListener

رغم اني متاكدة من الجملة تماما

ممكن تساعدوني اعرف الخطأ ...

...............................................................................

الكود مسويته على كلاسين

كلاس المين :

public class Main {

public static void main(String[] args) {

FirstFrame s = new FirstFrame();

s.setVisible(true);

s.setTitle("Convert temperature");

}

}

الكلاس الاخر

import java.awt.*;

import java.awt.event.*;

//import java.awt.event.ActionListener;

import javax.swing.*;

public class FirstFrame extends JFrame {

private JTextField jtfCelsius = new JTextField(10);

private JTextField jtfFahrenheit = new JTextField(10);

private JButton button1 = new JButton("convert");

private JButton button2 = new JButton("clear");

JPanel back1 = new JPanel();

public FirstFrame() {

// Panel p1 to hold labels

back1.setLayout(new GridLayout(3, 6));

back1.add(jtfCelsius);

back1.add(new JLabel("Celsius"));

back1.add(jtfFahrenheit);

back1.add(new JLabel("Fahrenheit"));

back1.add(button1);

back1.add(button2);

button1.addActionListener( new ActionListener()

{

public void actionPerformed(ActiveEvent e)

{

// code to be executed when button is pushed

double celsius =

Double.parseDouble(jtfCelsius.getText().trim());

double fahrenheit = (9.0 / 5.0) * celsius + 32;

jtfFahrenheit.setText(new Double(fahrenheit).toString());

jtfFahrenheit.requestFocusInWindow(); }

});

button2.addActionListener( new ActionListener()

{

public void actionPerformed(ActiveEvent e)

{

// code to be executed when button is pushed

jtfFahrenheit.setText("");

jtfCelsius.setText("");}

}

);

getContentPane().add(back1); // add background to frame

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

pack();

}

}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

تفضلي ، الخطأ كان في اسم دالة الـ action


public void actionPerformed(ActionEvent e)
{}

الفئة بعد التعديل :


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


public class FirstFrame extends JFrame {

private JTextField jtfCelsius = new JTextField(10);
private JTextField jtfFahrenheit = new JTextField(10);
private JButton button1 = new JButton("convert");
private JButton button2 = new JButton("clear");
JPanel back1 = new JPanel();

public FirstFrame() {




// Panel p1 to hold labels

back1.setLayout(new GridLayout(3, 6));
back1.add(jtfCelsius);
back1.add(new JLabel("Celsius"));
back1.add(jtfFahrenheit);
back1.add(new JLabel("Fahrenheit"));

back1.add(button1);
back1.add(button2);


button1.addActionListener( new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
// code to be executed when button is pushed
double celsius =
Double.parseDouble(jtfCelsius.getText().trim());
double fahrenheit = (9.0 / 5.0) * celsius + 32;
jtfFahrenheit.setText(new Double(fahrenheit).toString());
jtfFahrenheit.requestFocusInWindow(); }



});


button2.addActionListener( new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
// code to be executed when button is pushed
jtfFahrenheit.setText("");
jtfCelsius.setText("");}

}
);
getContentPane().add(back1); // add background to frame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();

}


}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

وافضيحتااااااه ... هذا الخطأ سهرانة عليييه قدي اليه .. :wacko::blink:

مرة شكــــرا... الله يعطيك العافية ... :)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طيب ممكن سؤال كمان ....

ابغى اضافة على البرنامج ..

ابغى اخلي البرنامج لمن المستخدم مايدخل شي ... يعتبرها بصفر ..

يعني اذا ضغط على تحويل .. يحول الدرجة للفهرنهايتي باعتبار النوع الاخر بصفر ..

انا سويت هذا الكود .... للكلاس الثاني .. بس برضه ما ضبط

import java.awt.*;

import java.awt.event.*;

//import java.awt.event.ActionListener;

import javax.swing.*;

public class FirstFrame extends JFrame {

private JTextField jtfCelsius = new JTextField(10);

private JTextField jtfFahrenheit = new JTextField(10);

private JButton button1 = new JButton("convert");

private JButton button2 = new JButton("clear");

JPanel back1 = new JPanel();

public FirstFrame() {

// Panel p1 to hold labels

back1.setLayout(new GridLayout(3, 6));

back1.add(jtfCelsius);

back1.add(new JLabel("Celsius"));

back1.add(jtfFahrenheit);

back1.add(new JLabel("Fahrenheit"));

back1.add(button1);

back1.add(button2);

button1.addActionListener( new ActionListener()

{

public void actionPerformed(ActionEvent e)

{double celsius;

double fahrenheit;

if ((jtfCelsius.getText())== null)

{ celsius =0;

fahrenheit=32.0;

String s= Double.toString(fahrenheit);

jtfFahrenheit.setText(s);

jtfFahrenheit.requestFocusInWindow();

}

else{

celsius =

Double.parseDouble(jtfCelsius.getText());

fahrenheit = (9.0 / 5.0) * celsius + 32;

String s= Double.toString(fahrenheit);

jtfFahrenheit.setText(s);

jtfFahrenheit.requestFocusInWindow();}

}

});

button2.addActionListener( new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

// code to be executed when button is pushed

jtfFahrenheit.setText("");

jtfCelsius.setText("");}

});

getContentPane().add(back1); // add background to frame

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

pack();

}

}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مراحب

تفضلي هذا الكود بعد التعديل

وان شاءالله رح يشتغل معاكي 100%

قمت بتعديل

if ((jtfCelsius.getText())==null)

واستبدلتها بـ

if ((jtfCelsius.getText())=="")

لأنه في حالة الـ getText() لايرجع القيمة null بل انه يرجع قيمة فارغة

جربي الكود وأخبريني بالنتائج

تحياتي

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


public class FirstFrame extends JFrame {

private JTextField jtfCelsius = new JTextField(10);
private JTextField jtfFahrenheit = new JTextField(10);
private JButton button1 = new JButton("convert");
private JButton button2 = new JButton("clear");
JPanel back1 = new JPanel();

public FirstFrame() {




// Panel p1 to hold labels

back1.setLayout(new GridLayout(3, 6));
back1.add(jtfCelsius);
back1.add(new JLabel("Celsius"));
back1.add(jtfFahrenheit);
back1.add(new JLabel("Fahrenheit"));

back1.add(button1);
back1.add(button2);


button1.addActionListener( new ActionListener()
{

public void actionPerformed(ActionEvent e)
{double celsius;
double fahrenheit;
if ((jtfCelsius.getText())=="")
{ celsius =0;
fahrenheit=32.0;
String s= Double.toString(fahrenheit);
jtfFahrenheit.setText(s);
jtfFahrenheit.requestFocusInWindow();
}
else{
celsius =
Double.parseDouble(jtfCelsius.getText());
fahrenheit = (9.0 / 5.0) * celsius + 32;
String s= Double.toString(fahrenheit);
jtfFahrenheit.setText(s);
jtfFahrenheit.requestFocusInWindow();}
}
});


button2.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// code to be executed when button is pushed
jtfFahrenheit.setText("");
jtfCelsius.setText("");}
});
getContentPane().add(back1); // add background to frame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
}
}

تم تعديل بواسطه adiga_sy
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .