Reklama
Pokazuje wyniki od 1 do 10 z 10

Temat: Java "kalkulator"

  1. #1
    Avatar cysio528
    Data rejestracji
    2007
    Położenie
    Białystok
    Posty
    1,761
    Siła reputacji
    18

    Domyślny Java "kalkulator"

    Witam
    Na laborki mam zrobic program, a wlasciwie poprawic bledy ktore sa w skrypcie i sprawic zeby dzialal. Ma to byc kalkulator, ktory dodaje do siebie liczbe wpisana przez uzytkownika i wpisuje w polu obok (tym co sie nie da edytowac). Jednak po wcisnieciu plusa zamyka program bez pokazania wyniku zadnego. W javie dosyc slaby jestem wiec bylbym wdzieczny za lopatologiczna pomoc:)

    Kod:
    /**
     * Write a description of class test2 here.
     * 
     * @author (your name) 
     * @version (a version number or a date)
     */
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    
    
    public class Exercise3 extends JFrame implements ActionListener
    {
        JButton jbtnA;
        JButton jbtnB;
        TextField ptextf;
        JTextField ptexts;
        TextArea ptar;
        JTextArea jtAreaOutput;
        String newline = "\n";
        String texte = "";
        
        Exercise3() 
        {
            JFrame jfrm = new JFrame ("Komponenty GraphicsUserInterface w Javie");
            jfrm.setLayout(null);
            jfrm.setSize(420, 450);
            jfrm.setLocation(100, 130);
            jfrm.setVisible(true);
            
            Label etykieta = new Label ("Etykieta");
            etykieta.setBounds(60,30,50,15);
            jfrm.add(etykieta);
            
            /*TextField pt = new TextField ("Pole tekstowe", 20);
            *pt.setBounds (40,65,100,20);
            *jfrm.add(pt);
            
            *Panel p = new Panel();
            *Choice c = new Choice();
            *c.add("Lista rozwijana");
            *c.add("Opcja_2");
            *c.add("Opcja_3");
            *p.add(c);
            *p.setBounds (20,260,110,90);
            *jfrm.add(p);
            
            *Panel p1 = new Panel ();
            *p1.add(new Label("Pola wyboru"));
            *p1.add(new Checkbox("Opcja_1"));
            *p1.add(new Checkbox("Opcja_2"));
            *p1.setBounds(70,180,230,25);
            *jfrm.add(p1);
            
            *Panel p2=new Panel();
            *p2.add (new Label ("Pola opcji"));
            *CheckboxGroup popcji = new CheckboxGroup ();
            *Checkbox Opcja_1;
            *Checkbox Opcja_2;
            *p2.add(Opcja_1 = new Checkbox ("Opcja_1", popcji, true));
            *p2.add(Opcja_2 = new Checkbox ("Opcja_2", popcji, false));
            *p2.setBounds(70,230,230,25);
            *jfrm.add(p2);
            */
           
            Panel panel1 = new Panel();
            Button jbtnA = new Button ("+");
            panel1.add(jbtnA);
            panel1.setBounds(180,290,30,30);
            jfrm.add (panel1);
            jbtnA.addActionListener(this);
            
            JButton jbtnB= new  JButton ("Zamknij");
            add(jbtnB);
            jbtnB.setBounds(130,350,130,30);
            jbtnB.addActionListener(this);
            jfrm.add(jbtnB);
            
            ptextf = new TextField (20);
            ptextf.addActionListener(this);
            ptextf.setBounds (30,135,150,30);
            jfrm.add(ptextf);
            
            ptexts = new JTextField (20);
            ptexts.addActionListener(this);
            ptexts.setEditable(false);
            ptexts.setBounds (220,135,150,30);
            jfrm.add(ptexts);
            
        }
        
        public void actionPreformed (ActionEvent evt)
        {
            String ac=evt.getActionCommand();
            
            if (ac.equals ("Zamknij"))
            {
                System.out.println("Zamknieto program");
                System.exit(0);
            }
            
            else if (ac.equals("+"))
            {
                String text2=ptextf.getText();
                int a = Integer.parseInt("1234");
                int b =a+a;
                texte = Integer.toString(b);
                ptexts.setText(texte);
           
            }
            
            else
            {
                String text1=ptextf.getText();
                ptexts.setText(text1);
                 ptar.setText (text1 + newline);
                 ptextf.selectAll();
                }
            }
            
            public static void main (String [] args)
            {
                Exercise3 PanelDemo = new Exercise3();
                PanelDemo.pack();
                PanelDemo.addWindowListener(new WindowAdapter()
                {
                    public void windowClosing (WindowEvent e)
                    {
                        //System.exit(0);
                    }
                });
                
                PanelDemo.setVisible(true);
        }
         public void actionPerformed(ActionEvent ae)
         {
             System.exit(0);
            }
            
    }

  2. #2
    Avatar 2cztery7
    Data rejestracji
    2014
    Posty
    628
    Siła reputacji
    10

    Domyślny

    masz dwa razy zdefiniowaną funkcję public void actionPerformed(ActionEvent)

  3. Reklama
  4. #3
    Avatar cysio528
    Data rejestracji
    2007
    Położenie
    Białystok
    Posty
    1,761
    Siła reputacji
    18

    Domyślny

    @2cztery7 ;
    Jak dam bez tej koncowej deklaracji to wyskakuje mi blad przy kompilacji "Exercise3 is not abstract and does not override abstract method actionperformed(actionevent) in actionlistener". Ale juz widze dlaczego mi zamyka (przez ta ostatnia deklaracje) ale dalej nie wiem jak zrobic, zeby dobrze dzialala mi ta czesc kodu
    Kod:
    public void actionPreformed (ActionEvent evt)
        {
            String ac=evt.getActionCommand();
            
            if (ac.equals ("Zamknij"))
            {
                System.out.println("Zamknieto program");
                System.exit(0);
            }
            
            else if (ac.equals("+"))
            {
                String text2=ptextf.getText();
                int a = Integer.parseInt("1234");
                int b =a+a;
                texte = Integer.toString(b);
                ptexts.setText(texte);
           
            }
            
            else
            {
                String text1=ptextf.getText();
                ptexts.setText(text1);
                 ptar.setText (text1 + newline);
                 ptextf.selectAll();
                }
            }

  5. #4
    Avatar 2cztery7
    Data rejestracji
    2014
    Posty
    628
    Siła reputacji
    10

    Domyślny

    zmień Preformed na Performed ;) @cysio528 ;
    Ostatnio zmieniony przez 2cztery7 : 04-12-2014, 19:52

  6. #5
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    @2cztery7 ;
    bez sensu jest pomagać w takim przypadku, przecież to nie pomoc w programowaniu ale w czytaniu ze zrozumieniem ;/

    irc: freenode.net in #torgdevs

  7. #6
    Avatar cysio528
    Data rejestracji
    2007
    Położenie
    Białystok
    Posty
    1,761
    Siła reputacji
    18

    Domyślny

    Do zamkniecia. W c++ jak troche pisalem to w takich miejscach wyskakiwal blad skladni, tutaj tego nie bylo i nie wiedzialem czego szukac lub czego mi brakuje w kodzie

  8. #7
    Avatar 2cztery7
    Data rejestracji
    2014
    Posty
    628
    Siła reputacji
    10

    Domyślny

    Cytuj Kusterek napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    @2cztery7 ;
    bez sensu jest pomagać w takim przypadku, przecież to nie pomoc w programowaniu ale w czytaniu ze zrozumieniem ;/
    sam na początku tego nie zauważyłem ;p myślałem, że w javie każdy używa generowania kodu
    Cytuj cysio528 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Do zamkniecia. W c++ jak troche pisalem to w takich miejscach wyskakiwal blad skladni, tutaj tego nie bylo i nie wiedzialem czego szukac lub czego mi brakuje w kodzie
    jak to błąd składni? przecież możesz tworzyć funkcje o dowolnej sygnaturze, kompilator nie ma prawa ci zabronić zrobić funkcji actionPreformedxD(args)
    no i używaj generowania kodu, albo nawet gui do tworzenia aplikacji (drag'n'drop). jest taki bajer w NB/Eclipse, nie wiem jak w innych.
    Ostatnio zmieniony przez 2cztery7 : 04-12-2014, 22:10

  9. #8
    Avatar Rollercoster
    Data rejestracji
    2011
    Wiek
    29
    Posty
    1,247
    Siła reputacji
    14

    Domyślny

    No i używaj porzadnego IDE, to pomoże uniknąć Ci wielu problemów i znacznie zautomatyzuje prace.

  10. #9
    Avatar cambiasso
    Data rejestracji
    2014
    Posty
    342
    Siła reputacji
    10

    Domyślny

    Bez sensu tworzysz JFrame jfr i do tej zmiennej dodajesz komponenty, skoro twoja klasa dziedziczy jframe

  11. #10
    Avatar cysio528
    Data rejestracji
    2007
    Położenie
    Białystok
    Posty
    1,761
    Siła reputacji
    18

    Domyślny

    Ten program miałem dziś do zrobienia na laborkach, a instrukcje dostałem wcześniej od innej grupy. Korzystamy z BlueJ i nie mam tutaj niestety możliwości wyboru. A do tworzenia JFrame jfr to tak było w instrukcji i też musiałem wg niej postępować. Ale dzięki wszystkim za pomoc:)

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Odpowiedzi: 9
    Ostatni post: 05-07-2019, 03:27
  2. Odpowiedzi: 11
    Ostatni post: 14-04-2011, 21:53
  3. Odpowiedzi: 12
    Ostatni post: 02-01-2009, 11:05

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •