Java rekenmachine

Status
Niet open voor verdere reacties.

Simon R

Gebruiker
Lid geworden
30 jul 2010
Berichten
7
Hallo allemaal,

Voor mijn studie ben ik nu ook bezig met java en jawel ook ik maak een rekenmachine. Ik heb er al eens een gemaakt welke werkte maar niet geheel foutloos. Heb jullie adviezen en ideeen gelezen van eet topic uit 2008. Op het gebied van de knoppen aanmaken en plaatsen heb ik mijn code verfijnd. En hier gaat mijn vraag dan ook over.

Code:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class rekenmachineUpdate extends JFrame {
protected static final String[] buttontext = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "-", "*", "/",
"wor", "kwa", "="};
protected int x;
protected JFrame frame;
protected JPanel panel;
protected JButton[] button;
protected JTextField tf;
protected double invoerveld1;
protected double invoerveld2;
protected double resultaat;
protected double knopwaarde;
protected String strknopwaarde;
public void setup(){
tf = new JTextField(15);
panel = new JPanel();
panel.setPreferredSize(new Dimension(1200, 1200));

for (x = 0; x <= buttontext.length; x++){
button[x] = new JButton(buttontext[x]); //hier nullpointer exeption
button[x].addActionListener(new knoppen());
panel.add(button[x]);
}

frame = new JFrame("Rekenmachine");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1300, 1300);
frame.setVisible(true);
frame.add(panel);
}

}Het creeren van de buttons, het plaatsen van de buttons en aanmaken van actionlisteners wil ik in een lus realiseren. Hierbij worden de tekens die op de knoppen komen te staan uit de string buttontext gehaald.
Volgens mij moet het zo willen werken, heb mijn cursusboek er nog op na geslagen maar geen fout kunnen vinden. Toch krijg ik bij het runnen van mijn code het bericht: Exception in thread "main" java.lang.NullPointerException, en stopt het programma bij deze regel waar //hier nullpointer exeption achter staat.

Wie weet wat er hier fout is gegaan? heb ik toch nog iets gemist?

De actionPerformed method staat in een eigen class knoppen. Waar de functies van de knoppen zijn geprogrammeerd. De class extends class rekenmachineUpdate.
De bewerkingen plus min enzovoort word ook in een eigen class uitgevoerd die bewerking heet. De class extends ook rekenmachineUpdate. Wanneer deze code nog van belang is voor het antwoord of als iemand deze wil zien voor ideeen dan hoor ik het graag.

Een leuke uitdaging dacht ik zo, en ik ben benieuwd naar jullie reacties en antwoorden.
tips trucs en suggesties zijn altijd welkom.

Groetjes Simon.
 
2 fouten
button = new button[17]; ==> vergeten je buttonarray te initialiseren
for (x = 0; x < buttontext.length; x++) ==>" kleiner dan " niet " kleiner of gelijk aan " want x is zerobased en length niet
 
Opgelost

Heey bedankt,

Dit stukje ontbrekende code gooide roet in het eten. Code toegevoegd en klaar.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan