I am creating a program which converts a string input to binary/octal string and shows the result in a textfield, but only last value (binary/octal string of 1 individual character ) gets shown as expected. But is there any other way to show all values?
resultTextField = new JTextField();
resultTextField.setBounds(10,170,200,100);
resultTextField.setForeground(Color.green);
resultTextField.setBackground(Color.black);
resultTextField.setOpaque(true);
resultTextField.setVisible(visibilty);
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==binaryButton) {
convertToBinary();//to convert the string to binary string
}
if(e.getSource()== octaButton) {
convertToOcta();//to convert to octal string
}
}
public void convertToBinary() {
visibilty = true;
converting input text (maintextField (String)) to char array
char[] textArray = mainTextField.getText().toCharArray();
for(int ascii : textArray)//this will convert individual characters to their ascii value
{
String binaryString = Integer.toBinaryString(ascii);//converts ascii value to binary string
resultTextField.setText(binaryString); //to get result
resultTextField.setVisible(visibilty);
//System.out.println(binaryString);
}
}
same thing but as in converToBinary but input gets converted octal string
public void convertToOcta() {
visibilty = true;
String text = mainTextField.getText();
char[] textArray = text.toCharArray();
for(int ascii : textArray)
{
String octalString = Integer.toOctalString(ascii);
resultTextField.setText(octalString);
//System.out.println(octalString);
}
resultTextField.setVisible(visibilty);
}
}
You just need to include the contents that were already there
String binaryString = Integer.toBinaryString(ascii);//converts ascii value to binary string
resultTextField.setText(resultTextField.getText() + binaryString); //to get result