Zugriff auf Methode einer anderen Klasse

Bitte aktiviere JavaScript!
Hallo, ich habe in einer Klasse Rechen_Gui ein jTextfield1 und 2 Buttons erstellt. Außerdem eine Klasse Rechenverfahren, die Rechenoperationen enthält (im Moment erst die Funktion public int hochzaehlen() ). Ich möchte die Operationen in diese Klasse auslagern und möglichst wenig in der Klasse Rechen_Gui tun.

Bei Betätigung des Buttons wird der Inhalt des Textfeldes ausgelesen, in der Klassenvariable zahl gespeichert und an die Methode des Rechenverfahren-Objektes rV übergeben. Die Methode soll den hochgezählten Wert zurückgeben. Der Wert soll dann im jTextfield1 ausgegeben werden. Leider klappt das nicht - ich vermute, dass mein Zugriff über die Referenz rV nicht erfolgreich ist.

Wie kann ich in der Klasse Rechen_Gui die Methoden der Klasse Rechenverfahren benutzen?


Java:
public class Rechen_Gui extends JFrame {
  // Anfang Attribute
  private JTextField jTextField1 = new JTextField();
  private JButton jButton1_plus1 = new JButton();
  private JButton jButton2_minus1 = new JButton();
  private JLabel lZahlEingeben = new JLabel();
  private Rechenverfahren rV = new Rechenverfahren();
  public int zahl=0;
 
  // Ende Attribute

  public Rechen_Gui (String title) {
    super (title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 300;
    int frameHeight = 300;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten
    jTextField1.setBounds(96, 64, 81, 41);
    cp.add(jTextField1);
    jButton1_plus1.setBounds(32, 144, 81, 41);
    jButton1_plus1.setText("jButton1_plus1");
    jButton1_plus1.setMargin(new Insets(2, 2, 2, 2));
    jButton1_plus1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        jButton1_plus1_ActionPerformed(evt);
      }
    });
    cp.add(jButton1_plus1);
    jButton2_minus1.setBounds(168, 144, 81, 41);
    jButton2_minus1.setText("jButton2_minus1");
    jButton2_minus1.setMargin(new Insets(2, 2, 2, 2));
    jButton2_minus1.addActionListener(new ActionListener() { 
      public void actionPerformed(ActionEvent evt) { 
        jButton2_minus1_ActionPerformed(evt);
      }
    });
    cp.add(jButton2_minus1);
    lZahlEingeben.setBounds(96, 32, 81, 25);
    lZahlEingeben.setText("zahlEingeben");
    cp.add(lZahlEingeben);
    // Ende Komponenten
    setResizable(false);
    setVisible(true);
  }

  // Anfang Methoden
  public void jButton1_plus1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    zahl= Integer.getInteger(jTextField1.getText());
    jTextField1.setText(String.valueOf(rV.hochzaehlen(zahl)));
  }

  public void jButton2_minus1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
   
  }

  // Ende Methoden

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

  }
hier noch die andere Klasse:
Code:
public class Rechenverfahren {

  public Rechenverfahren() {
  }

  // Anfang Methoden
  public int hochzaehlen(int zahl){
    zahl= zahl+1;
    return zahl;

  }

  public int herunterzaehlen(int z)
  {
    z=z-1;
    return z;
ein Auszug der Fehlermeldungen...
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Rechen_Gui.jButton1_plus1_ActionPerformed(Rechen_Gui.java:69)
at Rechen_Gui$1.actionPerformed(Rechen_Gui.java:45)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

Ich habe so lange rumprobiert und steige da nicht durch... :(
Kann hier jdn. weiterhelfen?
Daniel
 
Zuletzt bearbeitet:
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Nabend daniel, hört sich für mich stimmig an, bis auf das parsen/konvertieren nach int. ;)
Integer.valueOf() oder Integer.parseInt() ist fast Jacke wie Hose....
parseInt() hat nur eine besser Laufzeit. :(
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben