Forum » Programiranje » java pomoč, verjetno event handler
java pomoč, verjetno event handler
i33a ::
Napisal sem program v Javi(Eclipse) z GUI,
Najprej sem naredil grafiko (z jRadioButtn-i, in jLabel-i, ter z jButtnom).
Potem sem z if stavki dodal vsoti določeno vrednost npr.
na koncu moram še izpisati vsoto na zaslon, nekje sem videl da bi to lahko storil z eventHandlerjem, vendar o event handlerju nimam pojma. Rad bi čim enostavnejšo rešitev. Kako naj to naredim?
Najprej sem naredil grafiko (z jRadioButtn-i, in jLabel-i, ter z jButtnom).
Potem sem z if stavki dodal vsoti določeno vrednost npr.
if(button10.isSelected()){ vsota +=178.33; } else { vsota += 0;
na koncu moram še izpisati vsoto na zaslon, nekje sem videl da bi to lahko storil z eventHandlerjem, vendar o event handlerju nimam pojma. Rad bi čim enostavnejšo rešitev. Kako naj to naredim?
nightrage ::
Ja če hočes, da se ti ob kliku na gumb nekaj naredi potem moraš na gumb dodati dogodek oz. Actionlistener.
button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //napisi kodo, ki se izvrši od kliku na gumb System.out.println("You clicked the button"); } });
i33a ::
nightrage, hvala za pomoč vendar ne razumem popolnoma...
kako naj naredim???
ali naj if stavke ki dodajajo vsoti neko vrednost dam tam kjer si napisal "//napisi kodo, ki se izvrši od kliku na gumb" nato pa dodam še
Prosim, a ti lahko pošljem kodo na ZS in mi ti napišeš teh nekaj vrstic ter mi pošlješ nazaj ker se mi zdi da bom tako najlažje razumel?
kako naj naredim???
ali naj if stavke ki dodajajo vsoti neko vrednost dam tam kjer si napisal "//napisi kodo, ki se izvrši od kliku na gumb" nato pa dodam še
JOptionPane.showMessageDialog(null, total);
Prosim, a ti lahko pošljem kodo na ZS in mi ti napišeš teh nekaj vrstic ter mi pošlješ nazaj ker se mi zdi da bom tako najlažje razumel?
Nuke_H2 ::
i33a lahko pa narediš tudi metodo:
class Blabla implements ActionListener { private JButton b1; private JButton b2; . . . public Blabla(){ b1=new JButton(); b1.addActionListener(this); . . . } public void actionPerformed(ActionEvent e){ Object source=e.getSource(); if(source==b1){ vsota +=178.33; } if(source==b2){ System.out.println("bubububu"); } . . . else{ vsota+=0; } } }
i33a ::
Nuke H2, bom probal, zanima me samo ali naj to metodo naredim v main clasu ali v podrazredu?
Nuke_H2 ::
Vseeno kje, tam kjer boš pač čaku na evente, lahko nardiš čist posebn class, pa pol na gumb tkole obesiš actionListener-ja
b1.addActionListener(new Dogodki()); //Dogodki je razred kjer čakaš na evente.
i33a ::
Nuke H2 hvala zdej to deluje :) , ampak total je vedno 0.0, kaj je narobe?
Koda ki naj bi dodala vrednost spremenljivki total... Je tukaj kaj narobe ali je mogoče problem drugje?
Koda ki naj bi dodala vrednost spremenljivki total... Je tukaj kaj narobe ali je mogoče problem drugje?
if(b1.isSelected() && b3.isSelected()){ total += 65.74; } else if(b1.isSelected() && b4.isSelected()){ total += 18; } else if(b2.isSelected() && b3.isSelected()){ total += 100; } else if(b2.isSelected() && b4.isSelected()){ total += 2.6; } else { total += 0; } if(b5.isSelected()){ total+=5.6; } else if(b6.isSelected()){ total +=4.1; } else if(b7.isSelected()){ total +=2.3; } else if(b8.isSelected()){ total+=21.56; } else { total += 0; } if(b10.isSelected()){ total +=30.17; } else { total += 0; } if (b12.isSelected()){ total += 2.4; } else if(b13.isSelected()){ total += 7.7; } else { total += 0; } if(b15.isSelected()){ total += 5.1; } else if(b16.isSelected()){ total += 4.5; } else if(b17.isSelected()){ total += 59.7 ; } else if(b18.isSelected()){ total += 7.05; } else if(b19.isSelected()){ total += 89.89; } else if(b20.isSelected()){ total += 3.61; } else if(b21.isSelected()){ total += 1.04; } else{ total += 0; } if (b23.isSelected()){ total += 10; } else{ total+=0; }
Nuke_H2 ::
Probaj odstraniti:
ker nimajo nobenega pomena...
else { total+=0 }
ker nimajo nobenega pomena...
Zgodovina sprememb…
- spremenil: Nuke_H2 ()
Nuke_H2 ::
kje pa deklariraš total?
deklariraš tako ali kako drugače?
class Dek{ static duble total=0.0; public Dek(){ } }
deklariraš tako ali kako drugače?
i33a ::
Double total deklariram takoj za imenom razreda:
tako kot si napisal...
public class Gui extends JFrame{ static double total=0.0;
tako kot si napisal...
Chandler258 ::
Ko izračunaš vsoto jo moreš prikazat na JLabel-u. Nekaj v stilu:
Če uporabljaš kako staro Javo boš mogoče moral dat cifro v string ročno:
label.setText(vsota);
Če uporabljaš kako staro Javo boš mogoče moral dat cifro v string ročno:
label.setText(Double.toString(vsota));
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | java net beans pomočOddelek: Programiranje | 1616 (1504) | i33a |
» | [Java] Zagon appleta v HTMLOddelek: Programiranje | 1546 (1368) | Bela01 |
» | [JAVA] branje iz datotekeOddelek: Programiranje | 2413 (2048) | Bela01 |
» | [Java]VprašanjaOddelek: Programiranje | 2112 (1580) | Bela01 |
» | [java] opcijsko oknoOddelek: Programiranje | 2082 (1863) | infiniteLoop |