učím se Javu a strávil jsem pár hodin na této kalkulačce, teď už si opravdu nevím rady.
Kód: Vybrat vše
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
public class kalkulacka
{
JButton tlacitko;
JFrame frame;
JTextField pole1,pole2;
JComboBox combobox;
JLabel lbl;
JPanel panel;
public static void main(String[] args)
{
new kalkulacka();
}
public kalkulacka()
{
frame = new JFrame("Titulek");
Image obrazek = Toolkit.getDefaultToolkit().getImage("icon.gif");
frame.setIconImage(obrazek);
tlacitko = new JButton("Vypočti");
tlacitko.addActionListener(new Klik());
pole1 = new JTextField(5);
String[] operace = {"+","-","*","/"};
combobox = new JComboBox(operace);
combobox.setSelectedIndex(0);
pole2 = new JTextField(5);
lbl = new JLabel("<html><font color='red'>label</font></html>");
lbl.setVisible(true);
//int cislo1 = Integer.parseInt(pole1.getText());
//int cislo2 = Integer.parseInt(pole2.getText());
panel = new JPanel();
frame.setSize(350,350);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.add(pole1);
panel.add(combobox);
panel.add(pole2);
panel.add(tlacitko);
panel.add(lbl);
panel.setVisible(true);
frame.add(panel);
}
public class Klik implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
int aInt = Integer.parseInt(pole1.toString());
int bInt = Integer.parseInt(pole2.toString());
int cInt = Integer.parseInt(combobox.getSelectedItem().toString());
int result = aInt+cInt+bInt;
lbl.setText(Integer.toString(result));
}
}
}
Kompilátor nehlásí chyby, ale kalkulačka nefunguje a zároveň general output hlásí PŘI kliknutí na tlačítko Vypočti, čili bude chyba jen ve třídě Klik v převodu, výpočtu, či takovém něčem, vím, že tam je chyba, ale nevím jak na to:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "javax.swing.JTextField[,29,8,59x20,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@964130,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=5,columnWidth=11,command=,horizontalAlignment=LEADING]"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at kalkulacka$Klik.actionPerformed(kalkulacka.java:49)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)