Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zadatak jedan, AWT, SWING

[es] :: Java :: Zadatak jedan, AWT, SWING

[ Pregleda: 2414 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

akasha org.
Not Available
Serbia

Član broj: 49535
Poruke: 336
91.150.114.*



Profil

icon Zadatak jedan, AWT, SWING14.05.2007. u 11:36 - pre 206 meseci
Evo koda, ali nikako ne mogu da povezem da se unese cena, scrollom odredi tax Rate i kao rezultat izadje udeo. HELP

Code:

import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.*;
import java.text.DecimalFormat;
import javax.swing.JScrollBar;

public class TaxCalc extends JFrame implements ActionListener {

    public static final int MINIMUM = 0;
    public static final int MAXIMUM = 10;
    public static final int INITTAX = 2;
    
    private double pPrice;
    private double pSaleTax;
    private int pTax = INITTAX;
    
    TextField price = new TextField (12);
    JScrollBar scroll = new JScrollBar (0,INITTAX,1,MINIMUM,MAXIMUM);
    TextField taxRate = new TextField (scroll.getValue());
    TextField calc = new TextField (10);
            
    public TaxCalc () {
        super ("Tax Calculation");
        setSize (200, 150);
        setResizable (false);
        addPanels();
        addWindowListener (new WindowAdapter() {
            public void windowClosing (WindowEvent e) {
                System.exit(0);
            }
        });
        setVisible (true);
    }
    
    void addPanels () {
        
        getContentPane().setLayout (new GridLayout(3,1));
        
        Panel panel0 = new Panel ();
        panel0.add (new JLabel ("Price:     ", 2));
        panel0.add (price);
        getContentPane().add ("East", panel0);
        
        Panel panel2 = new Panel ();
        panel2.add (new JLabel ("Tax Rate:", 2));
        panel2.add (taxRate);
        panel2.add (scroll);
        getContentPane().add ("East", panel2);
        
        Panel panel3 = new Panel ();
        panel3.add (new JLabel ("Sales Tax: ", 2));
        panel3.add (calc);
        getContentPane().add ("East", panel3);
        
        price.addActionListener (this);
        taxRate.addActionListener (this);
        calc.addActionListener (this);
        scroll.addAdjustmentListener (1);
    }
    
    public void actionPerformed (ActionEvent e) {
        pPrice = Double.parseDouble (price.getText());
        pTax = scroll.getValue();
        pSaleTax = pPrice*pTax/100;
        calc.setText("" + pSaleTax);
    }

       
    public static void main(String[] args)
    {
      TaxCalc tc = new TaxCalc();
    }
}



Kuburim malko sa Listenerima
 
Odgovor na temu

rj444
Radomir Jakovljevic
Beograd

Član broj: 48212
Poruke: 354
*.rcub.bg.ac.yu.



Profil

icon Re: Zadatak jedan, AWT, SWING14.05.2007. u 23:41 - pre 206 meseci
Ovo ne moze:
Code:
scroll.addAdjustmentListener(1);

Ne mozes da dodas Listener 1, moras da napises listener za ono sto zelis pa da referencu na objekat tog listener-a prosledis kao argument ovoj metodi.

Zatim ovo isto po meni nema smisla (logicki):
Code:
price.addActionListener (this);
taxRate.addActionListener (this);
calc.addActionListener (this);

Ovde svakoj komponenti pridruzujes isti listener - this, pa se za svaki dogadjaj na svakoj komponenti poziva metoda actionPerformed, koju si ispod definisao.
Napravi posebne klase koje implementiraju interfejs ActionListener i u svakoj definisi metodu actionPerformed da radi ono sto zelis, pa ce kod izgledati ovako:

Code:
price.addActionListener (new PriceListener(this));
taxRate.addActionListener (new RateListener(this));
calc.addActionListener (new CalcListener(this));

Ovde se this prosledjuje kao argument konstruktora da bi mogao da u listener metodama actionPerformed mogao da pristupis podacima iz klase TaxCalc.
 
Odgovor na temu

akasha org.
Not Available
Serbia

Član broj: 49535
Poruke: 336
91.150.103.*



Profil

icon Re: Zadatak jedan, AWT, SWING15.05.2007. u 00:40 - pre 206 meseci
mhm, pogubio se satima po klasama i skroz mi je bilo naporno u pocetku, ali kada sam uhvatio fazon iscitavanja java.awt-a postalo mi je jako zanimljivo!
Problem sam resio [kacim u attachmentu].

Hvala
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Java :: Zadatak jedan, AWT, SWING

[ Pregleda: 2414 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.