Одна из проблем, с которой вы столкнулись, заключается в том, что вы повторно объявляете поле класса внутри метода и эффективно «затеняете» поле, делая его невидимым. Это поле является «двоичным»
Вот где вы изначально это заявляете:
public class BinaryAndDecimalConvert extends JApplet {
private JPanel bPanel;
//...
private JTextField binary;
Вот где вы это скрываете:
private class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String decimalNum = "";
int decimal1 = 0;
String binaryNum = "";
int power = 1;
String binary; // **** redeclared here ****
if (binaryToDec = true) {
binaryNum = binary.getText(); // so this won't work
Решение: не присваивайте переменным, локальным для метода, то же имя, что и для важных полей класса.
Далее вы пытаетесь вызвать setText()
для строковой переменной, двоичный номер:
binaryNumber.setText(decimal1);
В строке нет такого метода, поэтому избавьтесь от вызова этого метода.