На базовом уровне вы просто хотите поддерживать «цифры» отдельно от пользовательского интерфейса.Это широко известно как «модель».Модель живет независимо от пользовательского интерфейса и позволяет представлять модель любым количеством возможных способов в зависимости от потребностей приложения.
В вашем случае вы можете использовать связанный список, массив или какой-либо другой простойпоследовательный список, но проще всего, вероятно, использовать StringBuilder
, так как он обеспечивает требуемую функциональность (добавление и удаление) и может очень просто создать String
.
Итак, первое, что вынужно создать экземпляр модели как поле уровня экземпляра;
private StringBuilder numbers = new StringBuilder(10);
это позволит получить доступ к буферу в любом месте внутри экземпляра класса.
Тогда вам нужнообновить модель ...
else
{
topLeftButton.setEnabled(true);
if (e.getSource() instanceof JButton)
{
String text = numberButtons[lastCharacterIndex].getText();
numbers.append(text);
}
}
Чтобы удалить последний символ, вы можете просто использовать что-то вроде ...
if (numbers.length() > 0) {
numbers.deleteCharAt(numbers.length() - 1);
}
Затем, когда вам нужно, вы обновляете интерфейсиспользуя что-то вроде ...
display.setText(numbers.toString());
Теперь, это всего лишь основные понятия, вам нужно взять идеи и применить их к своей кодовой базе