Java: Textfield: alleen getallen toestaan

Status
Niet open voor verdere reacties.

Yannickd

Gebruiker
Lid geworden
11 dec 2007
Berichten
8
Ik heb reeds enkele fora afgezocht, maar ik kom hetgeen ik zoek niet tegen:

- Ik heb een textfield gemaakt in welke alleen getallen mogen worden ingevuld, het script moet dus controleren of er in het textfield geen tekst (A,B,C etc) is ingvuld (en als dit is ingevuld een waarschuwing geven dat de 'invuller' dit moet aanpassen)

Concluderende vraag:

Hoe laat ik JAVA controleren of er een letter uit het alfabet is ingevuld?


Stukje code uit het reeds bestaande script waarin de ingevulde waarde uit het tekstveld wordt gehaald en wordt gekeken of deze waarde groter is dan 0, waarna er enkele acties volgen.


Code:
// Ingevulde waarde controleren
		int T1H1Tijd;
		T1H1Tijd = Integer.parseInt(invulT1H1.getText());
		
		// Positief getal?
		if (T1H1Tijd > 0)
		{
		   	invulT1H1.setBackground(java.awt.Color.green);
		    invulT1H1.setEditable(false);
		    buttonT1H1OK.setVisible(false);
		    labelROOD.setVisible(false);
		    labelGEEL.setVisible(false);
		    buttonT2H1OK.setVisible(true);
		    labelHEAT2.setVisible(true);
		    invulT1H2.setVisible(true);
	    }
 
Wat je ook kan doen is het binnen de KeyTyped functie van het tekstvak de letters afvangen.

Het volgende dien je dan te doen:

Code:
//globale variabele
private char[] _validChars = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',);

//Vervolgens kan je in je contructor het volgende toevoegen
textboxnaam.addKeyListener(new java.awt.event.KeyAdapter(){
   public void keyTyped(java.awt.event.KeyEvent evt){
      if(!isValidChar(evt.getKeyChar())){
          evt.consume();
       }
   });

//En dan nog een methode
public boolean isValidChar(char c){
  for(int i = 0; i > _validChar.length-1 ; i++}
    if(c == _validChar[i]){
      return true;
    }
    return false;
}

wat je hiermee doet.
Elke keer dat er in het tekstvak getypt wordt, dan wordt er nagegaan of hetgene wat getypt wordt wel een cijfer is. Is het geen cijfer, dan wordt het getypte niet doorgelaten.
Is het wel een cijfer, dan wordt het gewoon doorgelaten en weergegeven in het tekstvak

Als je wil, dan kan je er nog een melding aan toevoegen. Dit is naar mijn mening een van de eenvoudigste manieren om chars af te vangen.
 
Bedankt voor je antwoord en het ziet er erg werkzaam uit .. ;)

Echter, ik ben een (nog) 'leek' op het gebied van Java en bij termen als 'KeyTyped Functie' en 'Constructor' ben jij mij helaas al kwijt .. ..

Naar ik begrijp kan ik dit stuk code niet op de plaats van de oude 'checks' neerzetten maar moet het worden gescheiden naar een om het maar naar PHP termen om te zetten een stuk in de <head> en een stuk in de <body>?


(Ik werk met het programma VisualCafe (geleverd vanuit school)).
 
Geef de hele code eens die je hebt.
Dan kan ik je aangeven waar het tussen gezet kan worden.
Kan ik je meteen ook een duidelijkere uitleg over geven. :)
 
Dan zou je op zoiets uitkomen
Code:
import java.awt.*;
import java.applet.*;

public class Applet1 extends Applet {
    
        
    public void init() {
        // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
        symantec.itools.lang.Context.setApplet(this);
        
        // This code is automatically generated by Visual Cafe when you add
        // components to the visual environment. It instantiates and initializes
        // the components. To modify the code, only use code syntax that matches
        // what Visual Cafe can generate, or Visual Cafe may be unable to back
        // parse your Java file into its visual environment.
        //{{INIT_CONTROLS
        setLayout(null);
        setBackground(java.awt.Color.lightGray);
        setSize(650,458);
        labelOPVUL1.setText("Bobsleeën");
        add(labelOPVUL1);
        labelOPVUL1.setFont(new Font("Dialog", Font.PLAIN, 20));
        labelOPVUL1.setBounds(12,12,96,37);
        labelOPVUL2.setText("Team namen:");
        add(labelOPVUL2);
        labelOPVUL2.setFont(new Font("Dialog", Font.BOLD, 12));
        labelOPVUL2.setBounds(12,108,84,24);
        labelT1.setText("Team 1:");
        add(labelT1);
        labelT1.setBounds(12,144,48,24);
        add(invulT1);
        invulT1.setBounds(72,144,86,25);
        buttonOk.setLabel("OK!");
        add(buttonOk);
        buttonOk.setBounds(72,360,85,26);
        add(labelT1in);
        labelT1in.setBounds(72,144,84,24);
        labelT1in.setVisible(false);
        labelT2.setText("Team 2:");
        add(labelT2);
        labelT2.setBounds(12,180,48,24);
        add(invulT2);
        invulT2.setBounds(72,180,86,25);
        add(labelT2in);
        labelT2in.setBounds(72,180,84,24);
        labelT2in.setVisible(false);
        labelT3.setText("Team 3:");
        add(labelT3);
        labelT3.setBounds(12,216,48,24);
        add(invulT3);
        invulT3.setBounds(72,216,86,25);
        add(labelT3in);
        labelT3in.setBounds(72,216,84,24);
        labelT3in.setVisible(false);
        labelT4.setText("Team 4:");
        add(labelT4);
        labelT4.setBounds(12,252,48,24);
        add(invulT4);
        invulT4.setBounds(72,252,86,25);
        add(labelT4in);
        labelT4in.setBounds(72,252,84,24);
        labelT4in.setVisible(false);
        labelT5.setText("Team 5:");
        add(labelT5);
        labelT5.setBounds(12,288,48,24);
        add(invulT5);
        invulT5.setBounds(72,288,86,25);
        add(labelT5in);
        labelT5in.setBounds(72,288,84,24);
        labelT5in.setVisible(false);
        labelT6.setText("Team 6:");
        add(labelT6);
        labelT6.setBounds(12,324,48,24);
        add(invulT6);
        invulT6.setBounds(72,324,86,25);
        add(labelT6in);
        labelT6in.setBounds(72,324,84,24);
        labelT6in.setVisible(false);
        add(invulT1H1);
        invulT1H1.setBounds(168,144,86,25);
        invulT1H1.setVisible(false);
        add(invulT2H1);
        invulT2H1.setBounds(168,180,86,25);
        invulT2H1.setVisible(false);
        add(invulT3H1);
        invulT3H1.setBounds(168,216,86,25);
        invulT3H1.setVisible(false);
        add(invulT4H1);
        invulT4H1.setBounds(168,252,86,25);
        invulT4H1.setVisible(false);
        add(invulT5H1);
        invulT5H1.setBounds(168,288,86,25);
        invulT5H1.setVisible(false);
        add(invulT6H1);
        invulT6H1.setBounds(168,324,86,25);
        invulT6H1.setVisible(false);
        labelHEAT1.setText("Heat 1:");
        add(labelHEAT1);
        labelHEAT1.setFont(new Font("Dialog", Font.BOLD, 12));
        labelHEAT1.setBounds(168,108,48,24);
        labelHEAT1.setVisible(false);
        buttonT1H1OK.setLabel("OK!");
        add(buttonT1H1OK);
        buttonT1H1OK.setBounds(264,144,86,26);
        buttonT1H1OK.setVisible(false);
        labelROOD.setText("Negatieve tijd? Dat is NIET mogelijk!");
        add(labelROOD);
        labelROOD.setForeground(java.awt.Color.red);
        labelROOD.setFont(new Font("Dialog", Font.BOLD, 12));
        labelROOD.setBounds(12,60,216,24);
        labelROOD.setVisible(false);
        labelGEEL.setText("0? Dat is NIET mogelijk!");
        add(labelGEEL);
        labelGEEL.setForeground(java.awt.Color.yellow);
        labelGEEL.setFont(new Font("Dialog", Font.BOLD, 12));
        labelGEEL.setBounds(12,60,216,24);
        labelGEEL.setVisible(false);
        buttonT2H1OK.setLabel("OK!");
        add(buttonT2H1OK);
        buttonT2H1OK.setBounds(264,180,86,26);
        buttonT2H1OK.setVisible(false);
        buttonT3H1OK.setLabel("OK!");
        add(buttonT3H1OK);
        buttonT3H1OK.setBounds(264,216,86,26);
        buttonT3H1OK.setVisible(false);
        buttonT4H1OK.setLabel("OK!");
        add(buttonT4H1OK);
        buttonT4H1OK.setBounds(264,252,86,26);
        buttonT4H1OK.setVisible(false);
        buttonT5H1OK.setLabel("OK!");
        add(buttonT5H1OK);
        buttonT5H1OK.setBounds(264,288,86,26);
        buttonT5H1OK.setVisible(false);
        buttonT6H1OK.setLabel("OK!");
        add(buttonT6H1OK);
        buttonT6H1OK.setBounds(264,324,86,26);
        buttonT6H1OK.setVisible(false);
        add(invulT1H2);
        invulT1H2.setBounds(264,144,86,25);
        invulT1H2.setVisible(false);
        add(invulT2H2);
        invulT2H2.setBounds(264,180,86,25);
        invulT2H2.setVisible(false);
        add(invulT3H2);
        invulT3H2.setBounds(264,216,86,25);
        invulT3H2.setVisible(false);
        add(invulT4H2);
        invulT4H2.setBounds(264,252,86,25);
        invulT4H2.setVisible(false);
        add(invulT5H2);
        invulT5H2.setBounds(264,288,86,25);
        invulT5H2.setVisible(false);
        add(invulT6H2);
        invulT6H2.setBounds(264,324,86,25);
        invulT6H2.setVisible(false);
        labelHEAT2.setText("Heat 2:");
        add(labelHEAT2);
        labelHEAT2.setFont(new Font("Dialog", Font.BOLD, 12));
        labelHEAT2.setBounds(264,108,48,24);
        labelHEAT2.setVisible(false);
        buttonT1H2OK.setLabel("OK!");
        add(buttonT1H2OK);
        buttonT1H2OK.setBounds(360,144,86,26);
        buttonT1H2OK.setVisible(false);
        buttonT2H2OK.setLabel("OK!");
        add(buttonT2H2OK);
        buttonT2H2OK.setBounds(360,180,86,26);
        buttonT2H2OK.setVisible(false);
        buttonT3H2OK.setLabel("OK!");
        add(buttonT3H2OK);
        buttonT3H2OK.setBounds(360,216,86,26);
        buttonT3H2OK.setVisible(false);
        buttonT4H2OK.setLabel("OK!");
        add(buttonT4H2OK);
        buttonT4H2OK.setBounds(360,252,86,26);
        buttonT4H2OK.setVisible(false);
        buttonT5H2OK.setLabel("OK!");
        add(buttonT5H2OK);
        buttonT5H2OK.setBounds(360,288,86,26);
        buttonT5H2OK.setVisible(false);
        buttonT6H2OK.setLabel("OK!");
        add(buttonT6H2OK);
        buttonT6H2OK.setBounds(360,324,86,26);
        buttonT6H2OK.setVisible(false);
        add(invulT1H3);
        invulT1H3.setBounds(360,144,86,25);
        invulT1H3.setVisible(false);
        add(invulT2H3);
        invulT2H3.setBounds(360,180,86,25);
        invulT2H3.setVisible(false);
        add(invulT3H3);
        invulT3H3.setBounds(360,216,86,25);
        invulT3H3.setVisible(false);
        add(invulT4H3);
        invulT4H3.setBounds(360,252,86,25);
        invulT4H3.setVisible(false);
        add(invulT5H3);
        invulT5H3.setBounds(360,288,86,25);
        invulT5H3.setVisible(false);
        add(invulT6H3);
        invulT6H3.setBounds(360,324,86,25);
        invulT6H3.setVisible(false);
        labelHEAT3.setText("Heat 3:");
        add(labelHEAT3);
        labelHEAT3.setFont(new Font("Dialog", Font.BOLD, 12));
        labelHEAT3.setBounds(360,108,48,24);
        labelHEAT3.setVisible(false);
        //}}
        
        //{{REGISTER_LISTENERS
        SymMouse aSymMouse = new SymMouse();
        buttonOk.addMouseListener(aSymMouse);
        buttonT1H1OK.addMouseListener(aSymMouse);
        buttonT2H1OK.addMouseListener(aSymMouse);
        buttonT3H1OK.addMouseListener(aSymMouse);
        buttonT4H1OK.addMouseListener(aSymMouse);
        buttonT5H1OK.addMouseListener(aSymMouse);
        buttonT6H1OK.addMouseListener(aSymMouse);
        buttonT1H2OK.addMouseListener(aSymMouse);
        
        SymKeyChar keyChecker = new SymKeyChar();
        invulT1.addKeyListener(keyChecker);
        //enz....
        //}}
    }
    
    //{{DECLARE_CONTROLS
    java.awt.Label labelOPVUL1 = new java.awt.Label();
    java.awt.Label labelOPVUL2 = new java.awt.Label();
    java.awt.Label labelT1 = new java.awt.Label();
    java.awt.TextField invulT1 = new java.awt.TextField();
    
    
    java.awt.Button buttonOk = new java.awt.Button();
    java.awt.Label labelT1in = new java.awt.Label();
    java.awt.Label labelT2 = new java.awt.Label();
    java.awt.TextField invulT2 = new java.awt.TextField();
    java.awt.Label labelT2in = new java.awt.Label();
    java.awt.Label labelT3 = new java.awt.Label();
    java.awt.TextField invulT3 = new java.awt.TextField();
    java.awt.Label labelT3in = new java.awt.Label();
    java.awt.Label labelT4 = new java.awt.Label();
    java.awt.TextField invulT4 = new java.awt.TextField();
    java.awt.Label labelT4in = new java.awt.Label();
    java.awt.Label labelT5 = new java.awt.Label();
    java.awt.TextField invulT5 = new java.awt.TextField();
    java.awt.Label labelT5in = new java.awt.Label();
    java.awt.Label labelT6 = new java.awt.Label();
    java.awt.TextField invulT6 = new java.awt.TextField();
    java.awt.Label labelT6in = new java.awt.Label();
    java.awt.TextField invulT1H1 = new java.awt.TextField();
    java.awt.TextField invulT2H1 = new java.awt.TextField();
    java.awt.TextField invulT3H1 = new java.awt.TextField();
    java.awt.TextField invulT4H1 = new java.awt.TextField();
    java.awt.TextField invulT5H1 = new java.awt.TextField();
    java.awt.TextField invulT6H1 = new java.awt.TextField();
    java.awt.Label labelHEAT1 = new java.awt.Label();
    java.awt.Button buttonT1H1OK = new java.awt.Button();
    java.awt.Label labelROOD = new java.awt.Label();
    java.awt.Label labelGEEL = new java.awt.Label();
    java.awt.Button buttonT2H1OK = new java.awt.Button();
    java.awt.Button buttonT3H1OK = new java.awt.Button();
    java.awt.Button buttonT4H1OK = new java.awt.Button();
    java.awt.Button buttonT5H1OK = new java.awt.Button();
    java.awt.Button buttonT6H1OK = new java.awt.Button();
    java.awt.TextField invulT1H2 = new java.awt.TextField();
    java.awt.TextField invulT2H2 = new java.awt.TextField();
    java.awt.TextField invulT3H2 = new java.awt.TextField();
    java.awt.TextField invulT4H2 = new java.awt.TextField();
    java.awt.TextField invulT5H2 = new java.awt.TextField();
    java.awt.TextField invulT6H2 = new java.awt.TextField();
    java.awt.Label labelHEAT2 = new java.awt.Label();
    java.awt.Button buttonT1H2OK = new java.awt.Button();
    java.awt.Button buttonT2H2OK = new java.awt.Button();
    java.awt.Button buttonT3H2OK = new java.awt.Button();
    java.awt.Button buttonT4H2OK = new java.awt.Button();
    java.awt.Button buttonT5H2OK = new java.awt.Button();
    java.awt.Button buttonT6H2OK = new java.awt.Button();
    java.awt.TextField invulT1H3 = new java.awt.TextField();
    java.awt.TextField invulT2H3 = new java.awt.TextField();
    java.awt.TextField invulT3H3 = new java.awt.TextField();
    java.awt.TextField invulT4H3 = new java.awt.TextField();
    java.awt.TextField invulT5H3 = new java.awt.TextField();
    java.awt.TextField invulT6H3 = new java.awt.TextField();
    java.awt.Label labelHEAT3 = new java.awt.Label();
    //}}
    
    
    
    public void buttonOk_MouseClicked(java.awt.event.MouseEvent event) {
        // Teamnamen overnemen/vastleggen
        String team1;
        team1 = invulT1.getText();
        labelT1in.setText(team1);
        labelT1in.setVisible(true);
        invulT1.setVisible(false);
        
        String team2;
        team2 = invulT2.getText();
        labelT2in.setText(team2);
        labelT2in.setVisible(true);
        invulT2.setVisible(false);
        
        String team3;
        team3 = invulT3.getText();
        labelT3in.setText(team3);
        labelT3in.setVisible(true);
        invulT3.setVisible(false);
        
        String team4;
        team4 = invulT4.getText();
        labelT4in.setText(team4);
        labelT4in.setVisible(true);
        invulT4.setVisible(false);
        
        String team5;
        team5 = invulT5.getText();
        labelT5in.setText(team5);
        labelT5in.setVisible(true);
        invulT5.setVisible(false);
        
        String team6;
        team6 = invulT6.getText();
        labelT6in.setText(team6);
        labelT6in.setVisible(true);
        invulT6.setVisible(false);
        
        buttonOk.setVisible(false);
        
        //HEAT 1 laten verschijnen
        labelHEAT1.setVisible(true);
        invulT1H1.setVisible(true);
        invulT2H1.setVisible(true);
        invulT3H1.setVisible(true);
        invulT4H1.setVisible(true);
        invulT5H1.setVisible(true);
        invulT6H1.setVisible(true);
        buttonT1H1OK.setVisible(true);
    }
    
    void buttonT1H1OK_MouseClicked(java.awt.event.MouseEvent event) {
        
        // Ingevulde waarde controleren
        int T1H1Tijd;
        T1H1Tijd = Integer.parseInt(invulT1H1.getText());
        
        if (T1H1Tijd == 'a') {
            labelROOD.setVisible(true);
        }
        // Positief getal?
        if (T1H1Tijd > 0) {
            invulT1H1.setBackground(java.awt.Color.green);
            invulT1H1.setEditable(false);
            buttonT1H1OK.setVisible(false);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(false);
            buttonT2H1OK.setVisible(true);
            labelHEAT2.setVisible(true);
            invulT1H2.setVisible(true);
        }
        
        // Negatief getal?
        if (T1H1Tijd < 0) {
            invulT1H1.setBackground(java.awt.Color.red);
            labelGEEL.setVisible(false);
            labelROOD.setVisible(true);
        }
        
        // Nul?
        if (T1H1Tijd == 0) {
            invulT1H1.setBackground(java.awt.Color.yellow);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(true);
        }
    }
    
    void buttonT2H1OK_MouseClicked(java.awt.event.MouseEvent event) {
        // Ingevulde waarde controleren
        int T2H1Tijd;
        T2H1Tijd = Integer.parseInt(invulT2H1.getText());
        
        // Positief getal?
        if (T2H1Tijd > 0) {
            invulT2H1.setBackground(java.awt.Color.green);
            invulT2H1.setEditable(false);
            buttonT2H1OK.setVisible(false);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(false);
            buttonT3H1OK.setVisible(true);
            invulT2H2.setVisible(true);
        }
        
        // Negatief getal?
        if (T2H1Tijd < 0) {
            invulT2H1.setBackground(java.awt.Color.red);
            labelGEEL.setVisible(false);
            labelROOD.setVisible(true);
            
        }
        
        // Nul?
        if (T2H1Tijd == 0) {
            invulT2H1.setBackground(java.awt.Color.yellow);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(true);
        }
    }
    
    void buttonT3H1OK_MouseClicked(java.awt.event.MouseEvent event) {
        // Ingevulde waarde controleren
        int T3H1Tijd;
        T3H1Tijd = Integer.parseInt(invulT3H1.getText());
        
        // Positief getal?
        if (T3H1Tijd > 0) {
            invulT3H1.setBackground(java.awt.Color.green);
            invulT3H1.setEditable(false);
            buttonT3H1OK.setVisible(false);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(false);
            buttonT4H1OK.setVisible(true);
            invulT3H2.setVisible(true);
        }
        
        // Negatief getal?
        if (T3H1Tijd < 0) {
            invulT3H1.setBackground(java.awt.Color.red);
            labelGEEL.setVisible(false);
            labelROOD.setVisible(true);
            
        }
        
        // Nul?
        if (T3H1Tijd == 0) {
            invulT3H1.setBackground(java.awt.Color.yellow);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(true);
        }
    }
    
    void buttonT4H1OK_MouseClicked(java.awt.event.MouseEvent event) {
        // Ingevulde waarde controleren
        int T4H1Tijd;
        T4H1Tijd = Integer.parseInt(invulT4H1.getText());
        
        // Positief getal?
        if (T4H1Tijd > 0) {
            invulT4H1.setBackground(java.awt.Color.green);
            invulT4H1.setEditable(false);
            buttonT4H1OK.setVisible(false);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(false);
            buttonT5H1OK.setVisible(true);
            invulT4H2.setVisible(true);
        }
        
        // Negatief getal?
        if (T4H1Tijd < 0) {
            invulT4H1.setBackground(java.awt.Color.red);
            labelGEEL.setVisible(false);
            labelROOD.setVisible(true);
            
        }
        
        // Nul?
        if (T4H1Tijd == 0) {
            invulT4H1.setBackground(java.awt.Color.yellow);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(true);
        }
    }
    
    void buttonT5H1OK_MouseClicked(java.awt.event.MouseEvent event) {
        // Ingevulde waarde controleren
        int T5H1Tijd;
        T5H1Tijd = Integer.parseInt(invulT5H1.getText());
        
        // Positief getal?
        if (T5H1Tijd > 0) {
            invulT5H1.setBackground(java.awt.Color.green);
            invulT5H1.setEditable(false);
            buttonT5H1OK.setVisible(false);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(false);
            buttonT6H1OK.setVisible(true);
            invulT5H2.setVisible(true);
        }
        
        // Negatief getal?
        if (T5H1Tijd < 0) {
            invulT5H1.setBackground(java.awt.Color.red);
            labelGEEL.setVisible(false);
            labelROOD.setVisible(true);
            
        }
        
        // Nul?
        if (T5H1Tijd == 0) {
            invulT5H1.setBackground(java.awt.Color.yellow);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(true);
        }
    }
    
    void buttonT6H1OK_MouseClicked(java.awt.event.MouseEvent event) {
        // Ingevulde waarde controleren
        int T6H1Tijd;
        T6H1Tijd = Integer.parseInt(invulT6H1.getText());
        
        // Positief getal?
        if (T6H1Tijd > 0) {
            invulT6H1.setBackground(java.awt.Color.green);
            invulT6H1.setEditable(false);
            buttonT6H1OK.setVisible(false);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(false);
            invulT6H2.setVisible(true);
            buttonT1H2OK.setVisible(true);
        }
        
        // Negatief getal?
        if (T6H1Tijd < 0) {
            invulT6H1.setBackground(java.awt.Color.red);
            labelGEEL.setVisible(false);
            labelROOD.setVisible(true);
            
        }
        
        // Nul?
        if (T6H1Tijd == 0) {
            invulT6H1.setBackground(java.awt.Color.yellow);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(true);
        }
    }
    
    void buttonT1H2OK_MouseClicked(java.awt.event.MouseEvent event) {
        // Ingevulde waarde controleren
        int T1H2Tijd;
        T1H2Tijd = Integer.parseInt(invulT1H2.getText());
        
        // Positief getal?
        if (T1H2Tijd > 0) {
            invulT1H2.setBackground(java.awt.Color.green);
            invulT1H2.setEditable(false);
            buttonT1H2OK.setVisible(false);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(false);
            buttonT2H2OK.setVisible(true);
            invulT1H3.setVisible(true);
            labelHEAT3.setVisible(true);
        }
        
        // Negatief getal?
        if (T1H2Tijd < 0) {
            invulT1H2.setBackground(java.awt.Color.red);
            labelGEEL.setVisible(false);
            labelROOD.setVisible(true);
            
        }
        
        // Nul?
        if (T1H2Tijd == 0) {
            invulT1H2.setBackground(java.awt.Color.yellow);
            labelROOD.setVisible(false);
            labelGEEL.setVisible(true);
        }
    }
    
    
    
    public class SymMouse extends java.awt.event.MouseAdapter {
        public void mouseClicked(java.awt.event.MouseEvent event) {
            Object object = event.getSource();
            if (object == buttonOk)
                buttonOk_MouseClicked(event);
            else if (object == buttonT1H1OK)
                buttonT1H1OK_MouseClicked(event);
            else if (object == buttonT2H1OK)
                buttonT2H1OK_MouseClicked(event);
            else if (object == buttonT3H1OK)
                buttonT3H1OK_MouseClicked(event);
            else if (object == buttonT4H1OK)
                buttonT4H1OK_MouseClicked(event);
            else if (object == buttonT5H1OK)
                buttonT5H1OK_MouseClicked(event);
            else if (object == buttonT6H1OK)
                buttonT6H1OK_MouseClicked(event);
            else if (object == buttonT1H2OK)
                buttonT1H2OK_MouseClicked(event);
        }
    }
    
    public class SymKeyChar extends java.awt.event.KeyAdapter {
        private char[] _validChars = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',};
        
        public void keyTyped(java.awt.event.KeyEvent evt) {
            if(!isValidChar(evt.getKeyChar())){
                evt.consume();
            }
        }
        
        public boolean isValidChar(char c){
            for(int i = 0; i > _validChars.length-1 ; i++){
                if(c == _validChars[i]){
                    return true;
                }
            }
            return false;
        }
    }
}

Ik zal er een aantal stukjes uit pakken.

Code:
//{{REGISTER_LISTENERS
        SymMouse aSymMouse = new SymMouse();
        buttonOk.addMouseListener(aSymMouse);
        buttonT1H1OK.addMouseListener(aSymMouse);
        buttonT2H1OK.addMouseListener(aSymMouse);
        buttonT3H1OK.addMouseListener(aSymMouse);
        buttonT4H1OK.addMouseListener(aSymMouse);
        buttonT5H1OK.addMouseListener(aSymMouse);
        buttonT6H1OK.addMouseListener(aSymMouse);
        buttonT1H2OK.addMouseListener(aSymMouse);
        
        [COLOR="Red"]SymKeyChar keyChecker = new SymKeyChar();
        invulT1.addKeyListener(keyChecker);
        //enz....[/COLOR]
        //}}
    }

Dat rode heb ik er nu handmatig bij getypt.
Jij kan het er zelf in laten zetten op dezelfde manier waarop je een mouselistener op de ok-knoppen hebt gekoppelt.
De naam van de keylistener is SymKeyChar

Code:
    public class SymKeyChar extends java.awt.event.KeyAdapter {
[COLOR="Red"]        private char[] _validChars = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',};[/COLOR]
        
        public void keyTyped(java.awt.event.KeyEvent evt) {
            if(!isValidChar(evt.getKeyChar())){
                evt.consume();
            }
        }
        
        public boolean isValidChar(char c){
            for(int i = 0; i > _validChars.length-1 ; i++){
                if(c == _validChars[i]){
                    return true;
                }
            }
            return false;
        }
    }
Dit is je keylistener class.
Deze kan je gaan koppelen aan je tekstvakken waarin je wil dat er alleen cijfers getypt mogen worden.
Deze kan je in de toekomst ook nog wel gebruiken voor andere programma's.
Mocht het dan nodig zijn om alleen letters toe te staan, dan die je de rode variabele aan te passen en dan doet hij de rest automatisch

De KeyTyped waar ik het over had, is een van de functies binnen een keylistener.
Je hebt: KeyUp, KeyDown en KeyTyped.
 
Bedankt voor de hulp en de toelichting op, dat maakt het een en ander duidelijk! :thumb:

Echter, 1 probleem, bij het uitvoeren van deze code gaat alles goed, echter het invulveld (zoals in het voorbeeld gebruikt: invulT1, accepteer nu geen enkel caracter meer (dus ook niet de wel toegestane 0 -> 9)

Ik denk dat dit te maken heeft met de SymKeyChar, want op het moment dat ik het geen in het rood staat aanpas naar een ander invulveld is 'invulT1' wel weer werkzaam. Het lijkt alsof hij dus wel weet dat hij moet kijken naar de toegestande Characters maar dat hij dit niet goed verwerkt en helemaal niks meer toelaat?

Code:
//{{REGISTER_LISTENERS
        SymMouse aSymMouse = new SymMouse();
        buttonOk.addMouseListener(aSymMouse);
        buttonT1H1OK.addMouseListener(aSymMouse);
        buttonT2H1OK.addMouseListener(aSymMouse);
        buttonT3H1OK.addMouseListener(aSymMouse);
        buttonT4H1OK.addMouseListener(aSymMouse);
        buttonT5H1OK.addMouseListener(aSymMouse);
        buttonT6H1OK.addMouseListener(aSymMouse);
        buttonT1H2OK.addMouseListener(aSymMouse);
        
[COLOR="Red"]        SymKeyChar keyChecker = new SymKeyChar();
        invulT1.addKeyListener(keyChecker);[/COLOR]
        //enz....
        //}}
    }
 
probleem gevonden:

Code:
 public class SymKeyChar extends java.awt.event.KeyAdapter {
        private char[] _validChars = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',};
        
        public void keyTyped(java.awt.event.KeyEvent evt) {
            if(!isValidChar(evt.getKeyChar())){
                evt.consume();
            }
        }
        
        public boolean isValidChar(char c){
            for(int i = 0; i [COLOR="Red"]<[/COLOR] _validChars.length-1 ; i++){
                if(c == _validChars[i]){
                    return true;
                }
            }
            return false;
        }
    }

Ik had een > neergezet ipv een < in de isValidChar functie. :o
 
Top werkt, heel erg bedankt!

Ik zit met 1 laatste probleem, het sorteren van getallen .. ..

Ok, 6 teams, 4 invulvelden per team --> na ingevuld te zijn haal ik de data uit deze 4 invulvelden, tel de getallen bij elkaar op en plaats deze in een 'eind' invulveld.

Vervolgens haal ik de data per team uit dit eind invulveld en stop deze ongesorteerd in een lijst:

Code:
// LIJST
		String T1EL = invulT1E.getText();
		String T2EL = invulT2E.getText();
		String T3EL = invulT3E.getText();
		String T4EL = invulT4E.getText();
		String T5EL = invulT5E.getText();
		String T6EL = invulT6E.getText();
	    int index2 = teamLijst.getItemCount();
	    teamLijst.add(T1EL,index2);
	    teamLijst.add(T2EL,index2);
	    teamLijst.add(T3EL,index2);
	    teamLijst.add(T4EL,index2);
	    teamLijst.add(T5EL,index2);
	    teamLijst.add(T6EL,index2);

Vervolgens werd ons opgedragen gebruik te maken van een BUBBLESORT, echter deze sorteert alfabetisch. Op het moment dat er dus 10'tallen en 100'tallen door elkaar zitten kijkt hij blind naar het begincijfer en sorteert hij ze dus fout:

VB:

Ongesorteerd: 50,60,30.100, 200
Gesorteerd: 100, 200, 30, 50, 60

Bubblesort code:

Code:
// (Verborgen) Lijst sorteren
		int lengte = teamLijst.getItemCount();
		for (int aantal = lengte; aantal > 1; aantal--)
		  for (int index = 0; index < aantal-1; index++)
		  {
		    String dit_element = teamLijst.getItem(index);
		    if (dit_element.compareTo(teamLijst.getItem(index+1)) > 0)
		    {
		       teamLijst.remove(index);
		       teamLijst.add(dit_element, index+1);
		    }
		  }

Het sorteren op 'alfabet' wordt waarschijnlijk veroorzaakt door het gebruik van de STRING (dit_element), echter op het moment dat ik de code ga proberen om te buigen naar een INT-vriendelijke loop ik vast .. hoe dit te doen? // Hoe krijg ik de bubblesort zover dat hij naar de getallen kijkt en niet naar het alfabet?

Vervolgens komt er nog een 'vervelend' stuk, ik moet de data weer uit de lijst halen, vergelijken met de data in de Eind-invulvelden en vervolgens aangeven op welke positie een team is geeindigd .. :

Code:
String overzet1 = teamLijst.getItem(0);
		String T1EL = invulT1E.getText();
                String T2EL = invulT2E.getText();
		if (overzet1 == T1EL)
		{
		    invulT1K.setText("1");
		}
                if(overzet1 == T2EL)
               {
                   invulT2K.setText("1");
               }
                    Enzovoorts.

Wederom gebruik van een String omdat getItem hem anders en de vergelijk ook vastloopt niet pakt ..

Alvast bedankt voor de assistentie!
 
Het is me reeds gelukt na eindeloos puzzelen, beide problemen opgelost .. wat geeft dat een goed gevoel :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan