Radiobutton Value anzeigen!

nilush

Grünschnabel
Hallöchen,

ich soll den Value von den Radiobuttons darunter in der paint Method ausgeben.

Leider funktioniert es nich richtig, vielleicht könnt ihr mir sagen wo mein Fehler liegt.

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

public class Radio extends Applet implements ItemListener {
	
	private CheckboxGroup group;
	private Checkbox red, orange, yellow;
	private Label label;
	private String choice;
	private boolean choiceisdone;

    public void init() {

        group = new CheckboxGroup();

        label = new Label("Select one option             ");
        add(label);

        red = new Checkbox("Red", group, false);
        add(red);
        red.addItemListener(this);
        
        orange = new Checkbox("Orange", group, true);
        add(orange);
        orange.addItemListener(this);
        
        yellow = new Checkbox("Yellow", group, false);
        add(yellow);
        yellow.addItemListener(this);
        
    }
    
    public void itemStateChanged (ItemEvent event) {
    	
    	if ((event.getSource() == red)||(event.getSource() == orange)||(event.getSource() == yellow)){
    		
    		choice = event.getItem().toString();
    		
    		}
    }
    
    public void paint (Graphics g) {
    	
    	g.drawString(choice, 100, 200);
    		 	
    }

}

thx nilush
 
Hi,
ich habe den Quelltext ein bischen angepasst:
1. Ich habe das Atribut choice mit Orange initialisiert, da sonst beim Start eine NullPointer Exception auftritt.
2. Du must nach der Auswahl neu zeichnen lassen, sonst wird die Paint-Metode nicht aufgerufen.
Sollte jetzt gehen, Viel Spaß
Code:
package pak;
 
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Swing extends Applet implements ItemListener {
 
private CheckboxGroup group;
private Checkbox red, orange, yellow;
private Label label;
private String choice = "Orange";
private boolean choiceisdone;
 
public void init() {
 
group = new CheckboxGroup();
label = new Label("Select one option			 ");
add(label);
 
red = new Checkbox("Red", group, false);
add(red);
red.addItemListener(this);
 
orange = new Checkbox("Orange", group, true);
add(orange);
orange.addItemListener(this);
 
yellow = new Checkbox("Yellow", group, false);
add(yellow);
yellow.addItemListener(this);
 
}
 
public void itemStateChanged (ItemEvent event) {
if ((event.getSource() == red)||(event.getSource() == orange)||(event.getSource() == yellow)){
choice = event.getItem().toString();
this.repaint(); 
}
}
 
public void paint (Graphics g) {	
if (choice != null)
g.drawString(choice, 100, 200); 	
}
}
 
Dankeschön, man da hät ich auch selber drauf kommen müssen, aber manchmal sucht man immer nach nem komplizierten Fehler. :suspekt:

mfg nilush
 
Zurück