Nie znam javy i pewnie niechcący rochę tobie namieszałem, ale chyba twój kod powinien wyglądać jak przemieszanie tych dwóch, które wrzuciłeś wcześniej, coś takiego:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class poleprostokata
{
public static void main(String args[])
{
poleprost poleprost =new poleprost();
poleprost.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
poleprost.setVisible(true);
poleprost.setResizable(false);
}
}
class Prostokat {
private float a, b;
public float obliczPole() {
return a * b;
}
/**
* Konstruktor
*/
Prostokat(float a, float b) {
this.a = a;
this.b = b;
}
}
class poleprost extends JFrame
{
public poleprost()
{
setTitle(" Pole Prostokąta");
setSize(210,290);
polenew prost =new polenew();
Container licz=getContentPane();
licz.add(prost);
}
}
class polenew extends JPanel // tworzymy nowy obiekt MójPanel
{
JTextField dłA;
JTextField dłB;
JTextField wynikpole;
public polenew()
{
setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel info1=new JLabel("Podaj długość pierwszego boku");
add(info1);
dłA=new JTextField("",15);
add(dłA);
JLabel info2=new JLabel("Podaj długość drugiego boku");
add(info2);
dłB=new JTextField("",15);
add(dłB);
JButton mnozenie=new JButton("Oblicz");
add(mnozenie);
JButton czysc=new JButton("Wyczyść pola");
add(czysc);
JLabel lab3=new JLabel("Pole prostokąta wynosi:");
add(lab3);
ActionListener sl3=new Oblicz();
mnozenie.addActionListener(sl3);
ActionListener cls = new Clear();
czysc.addActionListener(cls);
wynikpole=new JTextField("",15);
add(wynikpole);
}
class Oblicz implements ActionListener
{
public void actionPerformed(ActionEvent zdarzenie)
{
float bokA=Double.parseFloat(dłA.getText());
float bokB=Double.parseFloat(dłB.getText());
/*pobierasz dwie zmienne z pol tekstowych, lepiej byloby zebys uzyl kontrolek do wprowadzania wartosci liczbowych - uniknalbys mozliwosci popelnienia bledu i wpisania np zwyklego tekstu*/
Prostokat p = new Prostokat(bokA, bokB); //tworzysz obiekt klasy prostokat ktora sam zdefiniowales
wynikpole.setText(p.obliczPole()); //wpisujesz wartość pola do labela(tu musisz jakos zamienic wartosc float na string)
}
}
class Clear implements ActionListener
{
public void actionPerformed(ActionEvent zdarzenie)
{
wynikpole.setText("");
dłA.setText("");
dłB.setText("");
}
}
}
Twojemu nauczycielowi pewnie chodzi o to, że przy obliczaniu pola prostokąta masz korzystać z obiektu Prostokąt, a nie wyliczać tak jak to zrobiłeś dwa posty wyżej:
double bokA=Double.parseDouble(dłA.getText());
double bokB=Double.parseDouble(dłB.getText());
double iloczyn=bokA*bokB;
Wyliczenie pola prostokąta jest akurat proste, ale chodzi o to żebyś zrozumiał, że jak się trafi coś bardziej skomplikowanego, np jakieś obliczenia które zajmują kilkadziesiąt/kilkaset linii kodu, to lepiej zamknąć je w jakiejś osobnej klasie, a potem posługiwać się tylko jej obiektem, ustawiając parametry do obliczeń i całą resztę innych rzeczy, które się zmieniają, a resztę zamknąć w klasie, np wszelkie stałe, czy metody pomocnicze.