Hallo ich habe eine klasse geschrieben bei der aus einem Textfield ein int convertiert wird, doch es gibt
eine Fehlermeldung aus
Würde mich um Hilfe sehr freuen.
Code:
eine Fehlermeldung aus
Würde mich um Hilfe sehr freuen.
Code:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ValueWindow extends JPanel implements ActionListener{
private static final long serialVersionUID=1L;
JFrame frame;
JLabel label;
JTextField tf;
JButton button;
public ValueWindow(String title,String text){
this.setPreferredSize(new Dimension(250,40));
label=new JLabel(text);
this.add(label);
tf=new JTextField(5);
this.add(tf);
button=new JButton("OK");
button.addActionListener(this);
this.add(button);
button=new JButton("Cancel");
button.addActionListener(this);
this.add(button);
frame=new JFrame(title);
frame.add(this);
frame.pack();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setVisible(true);
}
public int getValue(){
String txt=tf.getText();
char[] convertedTxt=null;
int numberOf=0;
int value=0;
for(int cnt=0;cnt<=txt.length();cnt++){
try{
convertedTxt[cnt]=txt.charAt(cnt+1);
}catch(StringIndexOutOfBoundsException ex){System.out.println("ERROR");}
numberOf++;
}
switch(numberOf){
case 0:{break;}
case 1:{value=(int)convertedTxt[0]*1;break;}
case 2:{value=(int)convertedTxt[0]*10;value+=(int)convertedTxt[1]*1;break;}
case 3:{value=(int)convertedTxt[0]*100;value+=(int)convertedTxt[1]*10;value+=(int)convertedTxt[2]*1;break;}
case 4:{value=(int)convertedTxt[0]*1000;value+=(int)convertedTxt[1]*100;value+=(int)convertedTxt[2]*10;value+=(int)convertedTxt[3]*1;break;}
}
System.out.println(value);
return value;
}
public void actionPerformed(ActionEvent event){
String cmd=event.getActionCommand();
if(cmd.equals("OK")){
f=getValue();
}
}
}