الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه M!ss Programmer في 24 مايو 2011 · 4 رد · 588 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي كود لبرنامج جافا .. يقوم بالتحويل من 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();

}

}

لو رأيـت الجميع ضدك والالوان غيـر لونــــك والكل ماشـي عكسك " لاتتــــردد"..

إمشي وراء قلبـــك وتمسك بمبادءك ولاتأبه لهــم حتى وأن أصبحت وحيداً "لاتتــــردد"..

فالوحدة أفضـل من أن تعيش عكس نفسك لارضاء غيرك..

إن الحياة كتاب مليء .. بالصـور .. والالوان ..والحكايات فلتعشها جميعهـا..

ولتخترالافضل لك ومهما حدث

لاتبكي ولكن إبتسم ..

ودع الدنيا تبكي من جبروت إبتسامتـك ....

#2

تفضلي ، الخطأ كان في اسم دالة الـ 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();

}


}

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#3

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

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

لو رأيـت الجميع ضدك والالوان غيـر لونــــك والكل ماشـي عكسك " لاتتــــردد"..

إمشي وراء قلبـــك وتمسك بمبادءك ولاتأبه لهــم حتى وأن أصبحت وحيداً "لاتتــــردد"..

فالوحدة أفضـل من أن تعيش عكس نفسك لارضاء غيرك..

إن الحياة كتاب مليء .. بالصـور .. والالوان ..والحكايات فلتعشها جميعهـا..

ولتخترالافضل لك ومهما حدث

لاتبكي ولكن إبتسم ..

ودع الدنيا تبكي من جبروت إبتسامتـك ....

#4

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

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

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

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

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

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();

}

}

لو رأيـت الجميع ضدك والالوان غيـر لونــــك والكل ماشـي عكسك " لاتتــــردد"..

إمشي وراء قلبـــك وتمسك بمبادءك ولاتأبه لهــم حتى وأن أصبحت وحيداً "لاتتــــردد"..

فالوحدة أفضـل من أن تعيش عكس نفسك لارضاء غيرك..

إن الحياة كتاب مليء .. بالصـور .. والالوان ..والحكايات فلتعشها جميعهـا..

ولتخترالافضل لك ومهما حدث

لاتبكي ولكن إبتسم ..

ودع الدنيا تبكي من جبروت إبتسامتـك ....

#5

مراحب

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

وان شاءالله رح يشتغل معاكي 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 في 31 مايو 2011 في 09:33

مواضيع مشابهة