barrypince
Nieuwe gebruiker
- Lid geworden
- 28 jan 2007
- Berichten
- 1
hallo,
Ik moet voor school een java applicatie maken waarmee ik een aantal staafjes moet kunnen weergeven wat de gebruiker invoert:
Er zitten 2 textvakken in, met de ene kan de gebruiker het aantaal staafjes opgeven bijvoorbeeld 4, met de andere kan hij de waardes van de staafjes opgeven bijvoorbeeld: 6,7,8,9.
dan is er een knop met diagram, waarmee de staafjes weergeven worden, de 1 groter dan de andere in volgorde waar je ze opgeeft, in dit geval dus 6,7,8,9
dan is er een knop opslaan waarmee je de waardes van de staafjes en hoeveel staafjes er zijn kan opslaan in een bestand genaamd "schroevendraaier.txt", en een knop openen waarmee de applicatie de waardews van de staafjes uit het bestand "schroevendraaier.txt" gaat lezen.
Als ik het bestand opsla met de knop opslaan gaat alles goed, de inhoud van het txt bestand word bijvoorbeeld:
4
6
7
8
9
maar als ik het bestand open , en ik wil daar een diagram van zien , dan krijg ik 1 diagram met de waarde 0, dan weergeeft hij ze gewoon behalve de laatste waarde.
Heeft er iemand enig idee hoe ik dit kan oplossen? Alvast bedankt voor de moeite.
het bestand heet pincevanderaa.java
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class pincevanderaa extends Frame
{
Button Bleesin, Baantal, Breset, Bdiagram, Bopslaan, Bopenen;
TextField Tstaafwaarde, Taantalstaafjes;
int array[];
int maxaantal, arrayvullen, tijdelijk, p, i;
BufferedWriter schroef;
BufferedReader in;
String regel;
public static void main (String[] args)
{
new pincevanderaa();
}
public pincevanderaa()
{
setLayout(null);
// Knoppen!!!
arrayvullen=0;
Bleesin = new Button ("Lees in");
Bleesin.setBounds(20,80,70,20);
add (Bleesin);
Bleesin.addActionListener (new KnopHandler());
Baantal = new Button ("Aantal");
Baantal.setBounds(100,80,70,20);
add (Baantal);
Baantal.addActionListener (new KnopHandler());
Breset = new Button ("Reset");
Breset.setBounds(180,80,70,20);
add (Breset);
Breset.addActionListener (new KnopHandler());
Bdiagram = new Button ("Diagram");
Bdiagram.setBounds(180,50,70,20);
add (Bdiagram);
Bdiagram.addActionListener (new KnopHandler());
Bopslaan = new Button ("Opslaan");
Bopslaan.setBounds(340,80,70,20);
add (Bopslaan);
Bopslaan.addActionListener (new KnopHandler());
Bopenen = new Button ("Openen");
Bopenen.setBounds(420,80,70,20);
add (Bopenen);
Bopenen.addActionListener (new KnopHandler());
// Textvelden!!!
Tstaafwaarde = new TextField ();
Tstaafwaarde.setBounds(20,50,70,20);
add (Tstaafwaarde);
Taantalstaafjes = new TextField ();
Taantalstaafjes.setBounds(100,50,70,20);
add (Taantalstaafjes);
// Titelbalk!!!
setTitle("Barry Pince van der Aa IK31C");
setSize(500,300);
setVisible(true);
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
);
}
public void paint ( Graphics g )
{
for( int i = 0; i < arrayvullen; i++ )
{
g.drawRect( 30, (130+i*20),array,15);
}
}
private class KnopHandler implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if (e.getSource() == Baantal)
{
int maxaantal = Integer.parseInt(Taantalstaafjes.getText());
array = new int[maxaantal];
Taantalstaafjes.setEnabled(false);
Baantal.setEnabled(false);
}
if (e.getSource() == Bleesin)
{
int tijdelijk = Integer.parseInt(Tstaafwaarde.getText());
array[arrayvullen]= tijdelijk;
arrayvullen++;
if ( arrayvullen == array.length )
{
Bleesin.setEnabled(false);
Tstaafwaarde.setEnabled(false);
}
}
if (e.getSource() == Bdiagram)
{
repaint();
}
if (e.getSource() == Bopslaan)
{
try {
schroef=new BufferedWriter(new FileWriter("schroevendraaier.sav"));
schroef.write(""+array.length);
schroef.newLine();
for( int i = 0; i < arrayvullen; i++ )
{
schroef.write(""+array);
schroef.newLine();
}
schroef.close();
}
catch( IOException f)
{
}
}
if (e.getSource() == Bopenen)
{
try {
int p = 0;
in=new BufferedReader(new FileReader("schroevendraaier.sav"));
while ((regel=in.readLine())!=null)
{
if (p==0)
{
maxaantal=Integer.parseInt(""+regel);
arrayvullen=maxaantal+1;
array=new int[maxaantal+1];
p++;
arrayvullen=Integer.parseInt(""+regel);
Baantal.setEnabled(false);
Bleesin.setEnabled(false);
Tstaafwaarde.setEnabled(false);
Taantalstaafjes.setEnabled(false);
Taantalstaafjes.setText(""+maxaantal);
}
else
{
array[p]= Integer.parseInt(""+regel);
p++;
}
}
}
catch(FileNotFoundException f )
{
}
catch(IOException f)
{
}
}
if (e.getSource() == Breset)
{
Baantal.setEnabled(true);
Bleesin.setEnabled(true);
Tstaafwaarde.setEnabled(true);
Taantalstaafjes.setEnabled(true);
Taantalstaafjes.setText("");
Tstaafwaarde.setText("");
array = new int[0];
maxaantal = 0;
arrayvullen = 0;
repaint();
}
}
}}
Ik moet voor school een java applicatie maken waarmee ik een aantal staafjes moet kunnen weergeven wat de gebruiker invoert:
Er zitten 2 textvakken in, met de ene kan de gebruiker het aantaal staafjes opgeven bijvoorbeeld 4, met de andere kan hij de waardes van de staafjes opgeven bijvoorbeeld: 6,7,8,9.
dan is er een knop met diagram, waarmee de staafjes weergeven worden, de 1 groter dan de andere in volgorde waar je ze opgeeft, in dit geval dus 6,7,8,9
dan is er een knop opslaan waarmee je de waardes van de staafjes en hoeveel staafjes er zijn kan opslaan in een bestand genaamd "schroevendraaier.txt", en een knop openen waarmee de applicatie de waardews van de staafjes uit het bestand "schroevendraaier.txt" gaat lezen.
Als ik het bestand opsla met de knop opslaan gaat alles goed, de inhoud van het txt bestand word bijvoorbeeld:
4
6
7
8
9
maar als ik het bestand open , en ik wil daar een diagram van zien , dan krijg ik 1 diagram met de waarde 0, dan weergeeft hij ze gewoon behalve de laatste waarde.
Heeft er iemand enig idee hoe ik dit kan oplossen? Alvast bedankt voor de moeite.
het bestand heet pincevanderaa.java
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class pincevanderaa extends Frame
{
Button Bleesin, Baantal, Breset, Bdiagram, Bopslaan, Bopenen;
TextField Tstaafwaarde, Taantalstaafjes;
int array[];
int maxaantal, arrayvullen, tijdelijk, p, i;
BufferedWriter schroef;
BufferedReader in;
String regel;
public static void main (String[] args)
{
new pincevanderaa();
}
public pincevanderaa()
{
setLayout(null);
// Knoppen!!!
arrayvullen=0;
Bleesin = new Button ("Lees in");
Bleesin.setBounds(20,80,70,20);
add (Bleesin);
Bleesin.addActionListener (new KnopHandler());
Baantal = new Button ("Aantal");
Baantal.setBounds(100,80,70,20);
add (Baantal);
Baantal.addActionListener (new KnopHandler());
Breset = new Button ("Reset");
Breset.setBounds(180,80,70,20);
add (Breset);
Breset.addActionListener (new KnopHandler());
Bdiagram = new Button ("Diagram");
Bdiagram.setBounds(180,50,70,20);
add (Bdiagram);
Bdiagram.addActionListener (new KnopHandler());
Bopslaan = new Button ("Opslaan");
Bopslaan.setBounds(340,80,70,20);
add (Bopslaan);
Bopslaan.addActionListener (new KnopHandler());
Bopenen = new Button ("Openen");
Bopenen.setBounds(420,80,70,20);
add (Bopenen);
Bopenen.addActionListener (new KnopHandler());
// Textvelden!!!
Tstaafwaarde = new TextField ();
Tstaafwaarde.setBounds(20,50,70,20);
add (Tstaafwaarde);
Taantalstaafjes = new TextField ();
Taantalstaafjes.setBounds(100,50,70,20);
add (Taantalstaafjes);
// Titelbalk!!!
setTitle("Barry Pince van der Aa IK31C");
setSize(500,300);
setVisible(true);
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}
);
}
public void paint ( Graphics g )
{
for( int i = 0; i < arrayvullen; i++ )
{
g.drawRect( 30, (130+i*20),array,15);
}
}
private class KnopHandler implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if (e.getSource() == Baantal)
{
int maxaantal = Integer.parseInt(Taantalstaafjes.getText());
array = new int[maxaantal];
Taantalstaafjes.setEnabled(false);
Baantal.setEnabled(false);
}
if (e.getSource() == Bleesin)
{
int tijdelijk = Integer.parseInt(Tstaafwaarde.getText());
array[arrayvullen]= tijdelijk;
arrayvullen++;
if ( arrayvullen == array.length )
{
Bleesin.setEnabled(false);
Tstaafwaarde.setEnabled(false);
}
}
if (e.getSource() == Bdiagram)
{
repaint();
}
if (e.getSource() == Bopslaan)
{
try {
schroef=new BufferedWriter(new FileWriter("schroevendraaier.sav"));
schroef.write(""+array.length);
schroef.newLine();
for( int i = 0; i < arrayvullen; i++ )
{
schroef.write(""+array);
schroef.newLine();
}
schroef.close();
}
catch( IOException f)
{
}
}
if (e.getSource() == Bopenen)
{
try {
int p = 0;
in=new BufferedReader(new FileReader("schroevendraaier.sav"));
while ((regel=in.readLine())!=null)
{
if (p==0)
{
maxaantal=Integer.parseInt(""+regel);
arrayvullen=maxaantal+1;
array=new int[maxaantal+1];
p++;
arrayvullen=Integer.parseInt(""+regel);
Baantal.setEnabled(false);
Bleesin.setEnabled(false);
Tstaafwaarde.setEnabled(false);
Taantalstaafjes.setEnabled(false);
Taantalstaafjes.setText(""+maxaantal);
}
else
{
array[p]= Integer.parseInt(""+regel);
p++;
}
}
}
catch(FileNotFoundException f )
{
}
catch(IOException f)
{
}
}
if (e.getSource() == Breset)
{
Baantal.setEnabled(true);
Bleesin.setEnabled(true);
Tstaafwaarde.setEnabled(true);
Taantalstaafjes.setEnabled(true);
Taantalstaafjes.setText("");
Tstaafwaarde.setText("");
array = new int[0];
maxaantal = 0;
arrayvullen = 0;
repaint();
}
}
}}