Java - swing problem Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Programzero
Level 2
Level 2
Příspěvky: 245
Registrován: srpen 11
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Java - swing problem  Vyřešeno

Příspěvekod Programzero » 02 úno 2014 21:50

Zdravim, dostali jsme úkol naprogramovat kalkulačku která bude fungovat přes swing. Ale mám zde problém ( příloha ), udělal jsem ke knoflíčkům ActionListenery, a v potřebuji aby v každém tom action listeneru se int a nastavila na takovou hodnotu jak uvádím. Jenže to a se prostě nechce zdědit na ten poslední ActionListener ten poslední čudlík ( button, ten ActionListener úplně dole ). Nevítě někdo jak tu int a nastavit aby měla takovou hodnotu jak se nastaví v tom plusu, mínusu.. i v tom ActionListeneru toho buttonu?

Kód: Vybrat vše

package dokonala;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class NewClass extends JFrame {
    public final String title = "Kalkulačka";
    public final int w1 = 600;
    public final int w2 = 100; 
        public  NewClass()
    {
    JFrame frame = new JFrame();
    JPanel p = new JPanel();
    JPanel t = new JPanel();
    JButton button = new JButton("Výsledek");
    final JButton plus = new JButton("+");
    final JButton minus = new JButton("-");
    final JButton krat = new JButton("*");
    final JButton deleno = new JButton("/");
    this.setLayout(new BorderLayout());
    final JTextField field = new JTextField(6);
    final JTextField field2 = new JTextField(6);
    final JTextField field3 = new JTextField(1);
    p.setBackground(Color.YELLOW);
    this.setTitle(title);
    this.setSize(w1,w2);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);
    this.add(p, BorderLayout.CENTER);
    p.add(field, BorderLayout.WEST);
    p.add(plus);
    p.add(minus);
    p.add(krat);
    p.add(deleno);
    p.add(field2, BorderLayout.EAST);
   
    plus.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            int a = 1;
        }
    });
     minus.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            int a = 2;
        }
    });
      krat.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            int a = 3;
        }
    });
       deleno.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            int a = 4;
        }
    });
   
    button.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String first = field.getText();
            String second = field2.getText();
            String function = field3.getText();
            int first1;
            int second2;
            first1 = Integer.parseInt(first);
            second2 = Integer.parseInt(second);
            System.out.println(" " + first1 + " " + second2 + " " + a );
           
        }
    });
   
    this.add(button, BorderLayout.EAST);
    this.setResizable(false);
  }       
}
Přílohy
Výstřižek6.JPG
Příloha
AMD Phenom II x4 965 B.E., 6 GB ram, Nvidia GeForce 550 Ti, 1Tb disk Seagate, ASUS X550VB-XO016H, HTC One S :)

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - swing problem

Příspěvekod CZechBoY » 03 úno 2014 00:16

To samozřejmě nejde. Musels bys tu proměnnou deklarovat někde vejš, aby tam obě metody viděly.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Programzero
Level 2
Level 2
Příspěvky: 245
Registrován: srpen 11
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Re: Java - swing problem

Příspěvekod Programzero » 03 úno 2014 15:59

Dal jsem ji nahoru ještě před ActionListenery ale do metody kde ty ActionListenery jsou. V příloze je vidět jak jsem to udělal. A na posledním obrázku je vidět že jsem si nastavil aby když se to A nastaví se později vypsalo do konzole. Jenže konzole stejně vypusuje nulu..

--- Doplnění předchozího příspěvku (03 Úno 2014 16:00) ---

/: Jenže by měla vypsat trojku, jelikož jsem klik na nasobeni
Přílohy
5.jpg
AMD Phenom II x4 965 B.E., 6 GB ram, Nvidia GeForce 550 Ti, 1Tb disk Seagate, ASUS X550VB-XO016H, HTC One S :)

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - swing problem

Příspěvekod domitea » 03 úno 2014 16:05

Musí se jednat stále o to jediné a, takhle tam máš dvě: Jedno co platí na všechno (to je furt 0) a pak ještě druhé, které platí v rámci toho Listeneru (do kterého to zapisuješ). Takže si z Listerenů odstraň deklaraci int (jen smázni int) a mělo by to jet :wink:

Uživatelský avatar
Programzero
Level 2
Level 2
Příspěvky: 245
Registrován: srpen 11
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Re: Java - swing problem

Příspěvekod Programzero » 03 úno 2014 16:12

Tak jsem sundal int, ostatně můžeš to vidět v příloze. Jenže v těch ActionListenerech to vyhazuje chybu. Tak na tu žárovičku kliknu a vymaže to final, znovu to vyhazuje chybu tak na ni znovu klikám a teď to zase final přidá :D
Přílohy
Výstřižek60.JPG
AMD Phenom II x4 965 B.E., 6 GB ram, Nvidia GeForce 550 Ti, 1Tb disk Seagate, ASUS X550VB-XO016H, HTC One S :)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - swing problem

Příspěvekod CZechBoY » 03 úno 2014 17:25

Dej pryč final a rozjeď to.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Programzero
Level 2
Level 2
Příspěvky: 245
Registrován: srpen 11
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Re: Java - swing problem

Příspěvekod Programzero » 03 úno 2014 17:31

Dal jsem přič final, kliknu na tlačítko některé z funkcí a padne to :( :D
Přílohy
Výstřižek555.JPG
AMD Phenom II x4 965 B.E., 6 GB ram, Nvidia GeForce 550 Ti, 1Tb disk Seagate, ASUS X550VB-XO016H, HTC One S :)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - swing problem

Příspěvekod CZechBoY » 03 úno 2014 17:33

dej to a někam úplně nahoru. Tys to dal do nějaký metody ne?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Programzero
Level 2
Level 2
Příspěvky: 245
Registrován: srpen 11
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Re: Java - swing problem

Příspěvekod Programzero » 03 úno 2014 17:37

Takle jsem to dal ..

Kód: Vybrat vše

package dokonala;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class NewClass extends JFrame {
    public final String title = "Kalkulačka";
    public final int w1 = 600;
    public final int w2 = 100; 
        public  NewClass()
    {
    JFrame frame = new JFrame();
    JPanel p = new JPanel();
    JPanel t = new JPanel();
    JButton button = new JButton("Výsledek");
    final JButton plus = new JButton("+");
    final JButton minus = new JButton("-");
    final JButton krat = new JButton("*");
    final JButton deleno = new JButton("/");
    this.setLayout(new BorderLayout());
    final JTextField field = new JTextField(6);
    final JTextField field2 = new JTextField(6);
    final JTextField field3 = new JTextField(1);
    p.setBackground(Color.YELLOW);
    this.setTitle(title);
    this.setSize(w1,w2);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);
    this.add(p, BorderLayout.CENTER);
    p.add(field, BorderLayout.WEST);
    p.add(plus);
    p.add(minus);
    p.add(krat);
    p.add(deleno);
    p.add(field2, BorderLayout.EAST);
    int a = 0;
    plus.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            a = 1;
        }
    });
     minus.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            a = 2;
        }
    });
      krat.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            a = 3;
        }
    });
       deleno.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            a = 4;
        }
    });
   
    button.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            String first = field.getText();
            String second = field2.getText();
            String function = field3.getText();
            int first1;
            int second2;
            first1 = Integer.parseInt(first);
            second2 = Integer.parseInt(second);
            System.out.println(" " + first1 + " " + second2 + " " + a );
           
        }
    });
   
    this.add(button, BorderLayout.EAST);
    this.setResizable(false);
  }       
}
AMD Phenom II x4 965 B.E., 6 GB ram, Nvidia GeForce 550 Ti, 1Tb disk Seagate, ASUS X550VB-XO016H, HTC One S :)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - swing problem

Příspěvekod CZechBoY » 03 úno 2014 17:39

jj dej do úplně nahoru
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Programzero
Level 2
Level 2
Příspěvky: 245
Registrován: srpen 11
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Re: Java - swing problem

Příspěvekod Programzero » 03 úno 2014 17:41

Mimo metodu nebo na její začátek?

--- Doplnění předchozího příspěvku (03 Úno 2014 17:41) ---

Mimo metodu nebo na její začátek?
Naposledy upravil(a) Programzero dne 03 úno 2014 17:41, celkem upraveno 1 x.
AMD Phenom II x4 965 B.E., 6 GB ram, Nvidia GeForce 550 Ti, 1Tb disk Seagate, ASUS X550VB-XO016H, HTC One S :)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - swing problem

Příspěvekod CZechBoY » 03 úno 2014 17:42

Do třídy.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Problém s FPS
    od mcrakvar » 26 lis 2024 16:22 » v Vše ostatní (sw)
    4
    4022
    od petr22 Zobrazit poslední příspěvek
    28 lis 2024 10:06
  • Problém s RAM
    od lukas222 » 04 lis 2024 13:52 » v Problémy s hardwarem
    4
    3387
    od lukas222 Zobrazit poslední příspěvek
    05 lis 2024 13:36
  • Problém s monitorom
    od sloliv » 08 led 2025 04:55 » v Problémy s hardwarem
    8
    2352
    od sloliv Zobrazit poslední příspěvek
    08 led 2025 22:03
  • Problém s fps spojený s gpu
    od Matyas.S » 02 pro 2024 20:30 » v Hry
    0
    2271
    od Matyas.S Zobrazit poslední příspěvek
    02 pro 2024 20:30
  • Problém s internetem Příloha(y)
    od valama » 06 dub 2025 16:13 » v Internet a internetové prohlížeče
    11
    4780
    od RIKI22 Zobrazit poslední příspěvek
    06 dub 2025 20:42

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů