Passenger
Gebruiker
- Lid geworden
- 19 nov 2007
- Berichten
- 8
Okay nog eentje.
Deze oef moet een aantal letters uit een getypte text tellen en weergeven, dus bv
letter A komt 3 keer voor, letter B 6 keer etc..
Zo zou het er uit moeten zien:

De layout is redelijk gelukt, ik heb wel een grijs randje tussen de gele labels en de onderste button maarja..
De event handling is minder,
Ik heb namelijk geen idee hoe ik die text moet doorlopen en de letters tellen en opslaan.
Nog iets, is er een manier om een JTextArea een maximum aantal regels te geven?
Want als ik nu 100x een linebreak typ verkloot die textarea de hele layout (de gele labels en de knop verdwijnen gewoon)
Men code (deze is waarschijnlijk ook verre van perfect dus eventuele verbeteringen / simplifications zijn ook welkom ;p ) :
Maar als iemand dus mij op weg kan zetten met het gedeelte van de event handling, zou zeer geapprecieert worden, thanks.
Deze oef moet een aantal letters uit een getypte text tellen en weergeven, dus bv
letter A komt 3 keer voor, letter B 6 keer etc..
Zo zou het er uit moeten zien:

De layout is redelijk gelukt, ik heb wel een grijs randje tussen de gele labels en de onderste button maarja..
De event handling is minder,
Ik heb namelijk geen idee hoe ik die text moet doorlopen en de letters tellen en opslaan.
Nog iets, is er een manier om een JTextArea een maximum aantal regels te geven?
Want als ik nu 100x een linebreak typ verkloot die textarea de hele layout (de gele labels en de knop verdwijnen gewoon)
Men code (deze is waarschijnlijk ook verre van perfect dus eventuele verbeteringen / simplifications zijn ook welkom ;p ) :
Maar als iemand dus mij op weg kan zetten met het gedeelte van de event handling, zou zeer geapprecieert worden, thanks.
Code:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.Color;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class TestStatisticsGUI extends JFrame {
private JPanel gridPanel = new JPanel(new GridLayout(13, 4));
private JButton countButton = new JButton("Statistics");
private JTextArea txtVeld = new JTextArea(10, 5);
private JLabel[] labels;
private String[] alfabet = new String[] {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
private int j = 0;
private char[] lettersArray;
public TestStatisticsGUI() {
super("TextStatistics");
setLayout(new BorderLayout());
add(txtVeld, BorderLayout.NORTH);
labels = new JLabel[52];
ButtonHandler handler = new ButtonHandler();
countButton.addActionListener(handler);
for (int i = 0; i < labels.length; i++){
labels[i] = new JLabel();
if (i == 0 || i % 2 == 0 || i % 4 == 0){
labels[i].setText(alfabet[j]);
j++;
}
}
for (int i = 0; i < labels.length; i++){
labels[i].setOpaque(true);
labels[i].setBackground(Color.YELLOW);
}
for (int i = 0; i < labels.length; i++) {
gridPanel.add(labels[i]);
}
add(gridPanel, BorderLayout.CENTER);
add(countButton, BorderLayout.SOUTH);
}
private class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//HULP ??
}
}
}