PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Checkbox abfragen



blitz
19-03-2006, 11:49
Hallo,

ich mache gerade eine Umschulung zum Fachinformatiker und benötige hilfe für ein Java-Projekt.
Dieses wird eigentlich in der Gruppe erstellt, da ich aber derzeit Krank bin muss ich versuchen dieses allein hinzubekommen.

Ich möchte eine Checkbox innerhalb einer Checkboxgruppe abfragen , hier soll herausgelesen werden ob eine bestimmte Box auf true steht.

Hier ein Code ausschnitt:

public Sozial_Haupt(){
super("Berechnung der Sozialabgaben");
// Hintergrundfarbe
getContentPane().setBackground(Color.CYAN);

setLayout(null);

// Überschrift
lText= new JLabel("Berechnung der Sozialabgaben vom Bruttolohn! ");
lText.setBounds(10,10,280,10);
getContentPane().add(lText);

// Abfrage Kinder
lText2= new JLabel("Haben Sie Kinder? ");
lText2.setBounds(10,35,150,10);
getContentPane().add(lText2);

// Checkbox zur Abfrage ob Kinder da sind
CheckboxGroup cb = new CheckboxGroup();


Checkbox c1 = new Checkbox("Ja",cb,true);
c1.setBounds(10,50,50,10);
c1.addComponentListener((ComponentListener) this);
getContentPane().add(c1);
add(c1);

Checkbox c2;
c2 = new Checkbox("Nein",cb,false);
c2.setBounds(10,75,50,10);
getContentPane().add(c2);


:
:
public void actionPerformed(ActionEvent e){

// Strings für die Berechnung der Versicherungsbeträge
String br;
String kv;
String pv;
String rv;
String av;

br = Brutto.getText();
double brutto = Double.parseDouble(br);
kv = krank_v.getText();
double krank_v = Double.parseDouble(kv);
pv = privat_v.getText();
rv = renten_v.getText();
av = arbeit_v.getText();

// Abfrage für zu hohen BruttoLohn >10.000,- Euro

{
if (brutto>10000)
lText10.setText ("Ihr Bruttolohn ist ist mit mehr als "+ brutto + "€, Die Berechnung ist auf 10.000,- € begrenzt");
}
if (cb1== true )

......

Also aus der Checkboxgruppe cb ob cb1 gesetzt ist.

für eine schnelle Hilfe wäre ich dankbar

mwanaheri
20-03-2006, 07:56
So wie du vorgehst, ist die Checkbox die falsche Wahl. Du solltest lieber zwei RadioButtons wählen, wenn du eine 'ja'-Möglichkeit und eine 'nein'-Möglichkeit abieten willst.
Das geht dann etwa so (ungetestet):
JRadioButton rbJa = new JRadioButton("ja");
JRadioButton rbNein = new JRadioButton("nein");
ButtonGroup gruppe = new ButtonGroup();
gruppe.add(rbJa);
gruppe.add(rbNein);

Eine Auswahlvorgabe kannst du setzen mit
gruppe.setSelected(rbJa.getModel(),true);

Um das ganze auszulesen, kannst du beim Auslesen die einzelnen RadioButtons abfragen:
if (rbJa.isSelected()) machDasEine();
else machDasAndere();

Wenn du schon beim Auswählen eine Aktion starten willst, musst du den Listener bei den RadioButtons registrieren. Dann kannst du bei actionPerformed() abfragen, woher das Ereignis kam.

Eine gute Übersicht gibts hier:

http://java.sun.com/docs/books/tutorial/uiswing/components/button.html#checkbox