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?
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
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 :)
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
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..
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
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á
Přílohy
AMD Phenom II x4 965 B.E., 6 GB ram, Nvidia GeForce 550 Ti, 1Tb disk Seagate, ASUS X550VB-XO016H, HTC One S :)
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
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
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 :)
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
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
Zdravím zakoupil jsem si pc od smarthy
od prvni startu nefunguji předni a zadní ventilátor na case RGB sviti na Cpu a Gpu funguje mam pocit že by se měli roztočit alespon u zapnu ti pc
nevim zda mam zboži reklamovat a nebo pc musi byt ve větší...
Poslední příspěvek
Děkuji problem vyřešen byli opravdu odpojeny nechapu led bylo zapojene system fan odpojeno trošku mě mrzi že jsem si nechal před doveženim odskoušet pc a nainstalvoat OS aby bylo vše v pořadku a nebylo ale problem už je vyřešen jestě jednou diky...
Zdravím, jsem několikaletým věrným zákazníkem VODAFonu máme od nich Gigabytový internet, vše nějakou dobu šlapalo skvěle ale řekněme že teď po dvou letech z nějakého mě neznámého důvodu klesla rychlost místo 1000 na 100 Mbs i na přívodním kabelu z...
Ahoj, mam takový dotaz, včera jsem vypínal PC a bylo vše v pořádku.
Dneska nastal problém že se slyším ve Windowsu svůj hlas, každý hluk vše slyším ve sluchátkách.
To stejné na Discordu nebo jiné aplikaci.
Nemám nic zaplého jako je Zvuk - Mikrofon-...
Poslední příspěvek
Dělá to stejně i když to přepnu
Dodatečně přidáno po 1 minutě 39 vteřinách:
Když tohle vypnu, tak se mi to vypne ale zajdu na discord, tak nemužu mluvit
Dodatečně přidáno po 3 hodinách 16 minutách 48 vteřinách:
Problem vyřešen v G hubu, měl...
Notebook má tendenciu vypínať sa viackrát za hodinu, je problém so spojením medzi káblom a batériou. Funguje normálne pri nabijani, ale je potrebné otáčit spravne kábel dookola a nájsť presnú polohu, aby sa nabíjal. Ak sa vytiahne z nabijania, tak...
Poslední příspěvek
Psal jsem ze cena toho notebooku jako plne funkcniho je nulova.
Takovych jsou doslova plne sberne dvory a kdybych podobny u nas nekomu nabidl zadarmo, tak se my vysmeje.
Čaute, kúpil som si nový monitor MSI 321CUP, k tomu kábel PREMIUM CORD mini display port - display port a občas sa mi stáva, že keď zapnem počítač, tak mi oznámi DP NO SIGNAL FOUND a nejde obraz. Vyrieši to až opätovné vypnutie a zapnutie počítača....
Poslední příspěvek
Tu sa pozri na dostupné verzie BIOSu mojej grafickej karty. Ja mám verziu F62, je to teda tá najnovšia? Lebo je tam ešte verzia f2, ale tam je napísané nižšie číslo verzie BIOSu tak teraz neviem.