07. september 2006 - 20:44Der er
16 kommentarer og 1 løsning
Java: fejl i NetBeans?
Jeg sidder og forsøger at lave en GUI-applikation i NetBeans.
Jeg har lavet to textfields kaldet tInt1 og tInt2. Det er planen at disse skal indeholde tal.
Jeg har nu lavet en metode calculate, med følgende:
private void calculate() { int result = tInt1.getText()+tInt2.getText() tResult.setText(result); }
tResult er et textfielt som skulle indeholde resultatet af min udregning.
Når jeg forsøger at køre dette, får jeg en kompiler fejl:
found : java.lang.String required: int int result = tInt1.getText()+tInt2.getText(); /home/dennis/java/Halloworld/src/Halloworld.java:112: setText(java.lang.String) in javax.swing.text.JTextComponent cannot be applied to (int) tResult.setText(result);
Nogen der kan hjælpe mig videre? Er klar over at problemet opstår fordi jeg forsøger at ligge to stringe sammen til et int. Men hvordan gør man det? :) Kan jeg evt. angive at det der bliver indtastet i textfield er int istedet for string?
Jeg er med på hvad den linie gør, men jeg vil gerne have en metode som jeg kan kalde, således at applikationen bliver afsluttet. Har nemlig lave en menu der hedder "exit" - programmet skulle jo gerne lukkes, når jeg trykker på denne :)
Jeg har denne kode: jLabel1.setText(jComboBox1.getSelectedItem());
Den giver denne fejl: /home/dennis/java/Halloworld/src/Halloworld.java:144: setText(java.lang.String) in javax.swing.JLabel cannot be applied to (java.lang.Object) jLabel1.setText(jComboBox1.getSelectedItem());
Er det fordi getSelectedItem ikke returnerer en String?
Problemet er, at den ikke vil compile denne switch:
switch (jComboBox1.getSelectedItem()) { case "+": int result = Integer.parseInt(tInt1.getText())+Integer.parseInt(tInt2.getText()); case "-": int result = Integer.parseInt(tInt1.getText())-Integer.parseInt(tInt2.getText()); case "*": int result = Integer.parseInt(tInt1.getText())*Integer.parseInt(tInt2.getText()); case "/": int result = Integer.parseInt(tInt1.getText())/Integer.parseInt(tInt2.getText()); }
switch (((String)jComboBox1.getSelectedItem()).charAt(0)) { case '+': int result = Integer.parseInt(tInt1.getText())+Integer.parseInt(tInt2.getText()); case '-': int result = Integer.parseInt(tInt1.getText())-Integer.parseInt(tInt2.getText()); case '*': int result = Integer.parseInt(tInt1.getText())*Integer.parseInt(tInt2.getText()); case '/': int result = Integer.parseInt(tInt1.getText())/Integer.parseInt(tInt2.getText()); }
switch (((String)jComboBox1.getSelectedItem()).charAt(0)) { case '+': result = int1+int2; case '-': result = int1-int2; case '*': result = int1*int2; case '/': result = int1/int2; default: result = 0; }
Mit problem er, at uanset hvad så bruger den altid default-løsningen :( Jeg har i jComboBox1 sat "model" til "+, -, *, /". Deres værdi skal måske angives et andet sted?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.