Я пытаюсь найти пример класса, расширяющего абстрактный класс в Java, который предназначен для выполнения действия на основе выбранной радиокнопки и нажатия кнопки.Java-классы, которые расширяют действие абстрактных классов при нажатии кнопки
Инструкция:
Создания формы транзакции для управления балансом счета.
Создать параметры сделки:
Депозиты добавить, чтобы сбалансировать проверки вычесть из остатка если баланс> чека затем вычесть чек из баланса еще дисплей Недостаточно средств Сообщения и вычитанию Service Charge ($ 10) с баланса Затраты на обслуживание ($ 10) вычесть из баланса
Использование Аннотация Класс Транзакция для создания классов:
класс Депозит класс ServiceCharge класс Check переопределить абстрактную функцию calculateBalance() в каждом классе, чтобы выполнить соответствующие расчеты по балансу выбросить исключение в классе Check.calculateBalance()
Я нахожусь в использовать следующий абстрактный класс:
public abstract class Transaction {
/**
The Transaction class simulates a bank account.
*/
static final double SERVICE_CHARGE = 10.0;
double transactionamount = 0.0;
static double balance = 0.0; // Account balance
static double totalDeposits = 0.0;
static double totalChecks = 0.0;
static double totalServiceCharges = 0.0;
static int numberDeposits = 0;
static int numberChecks = 0;
static int numberServiceCharges = 0;
public Transaction() {
transactionamount = 0.0;
}
public Transaction(double amount) {
this.transactionamount = amount;
}
public Transaction(String str) {
transactionamount = Double.parseDouble(str);
}
public void deposit(double amount) {
balance += amount;
}
public void deposit(String str) {
balance += Double.parseDouble(str);
}
static public double getBalance() {
return balance;
}
abstract void calculateBalance() throws Exception;
}
Вот что у меня есть, что я пытаюсь получить на работу:
Класс, который включает класс Transaction, указан первым, мой пример - класс Check. Я пытаюсь настроить мою кнопку расчета и выбор меню транзакций для передачи информации на основе выбора переключателя и текстовых полей.
package Assignment5;
public class Check extends Transaction {
\t public double checksBalance(double check) // makes alterations to Transaction variables once information is passed from text field.
\t {
\t \t check = transactionamount;
\t \t totalChecks = check + totalChecks; // increases total amount in checks.
\t \t balance = check + totalDeposits - totalChecks - totalServiceCharges;
\t \t return check;
\t \t
\t \t
\t }
\t public int checks() {
\t \t return numberChecks++; // increases number of checks written.
\t \t }
\t
\t
\t @Override
\t void calculateBalance() throws Exception {
\t \t // TODO Auto-generated method stub
\t \t
\t }
\t
}
public class TypePanel extends JPanel
\t \t {
\t \t public String deposit, check, service;
\t \t
\t \t \t JRadioButton depositButton;
\t \t \t JRadioButton checkButton;
\t \t \t JRadioButton serviceButton;
\t ButtonGroup radioButtonGroup;
\t \t \t public TypePanel() //
\t \t \t {
\t \t \t \t setLayout(new GridLayout(3, 1)); // Panel Layout
\t \t \t \t depositButton = new JRadioButton("Deposit", true); // Radiobuttons listed here.
\t \t checkButton = new JRadioButton("Check");
\t \t serviceButton = new JRadioButton("Service Charge");
\t \t
\t \t radioButtonGroup = new ButtonGroup();
\t \t \t \t radioButtonGroup.add(depositButton);
\t \t radioButtonGroup.add(checkButton);
\t \t radioButtonGroup.add(serviceButton);
\t \t
\t \t add(depositButton);
\t \t \t \t add(checkButton);
\t \t \t \t add(serviceButton);
\t \t \t }
\t \t \t
\t \t \t public void GetTotals()
\t \t \t {
\t \t \t \t
\t \t \t if (checkButton.isSelected())
\t \t \t \t {
\t \t \t \t
\t \t \t \t Transaction.transactionamount = AmountPanel.amountEntered;
\t \t \t \t }
\t \t \t \t
\t \t \t
\t \t }
public class AmountPanel extends JPanel {
\t \t \t public static Object amountEntered;
\t \t \t public String amountInput;
\t \t \t private JLabel amountLabel;
\t \t private String defaultText;
\t \t private JTextField amountTextField;
\t \t
\t \t \t public AmountPanel()
\t \t {
\t \t \t setLayout(new GridLayout(2, 1)); // Panel Layout.
\t \t \t amountLabel = new JLabel("Enter Amount");
\t \t \t amountTextField = new JTextField(6);
\t \t \t defaultText = "0"; // Default value placed in textfields within this panel.
\t \t \t amountTextField.setText(defaultText);
\t \t \t add(amountLabel);
\t \t \t add(amountTextField);
\t }
\t public double GetAmount()
\t {
\t \t \t double amountEntered;
\t \t \t amountInput = amountTextField.getText();
\t \t \t amountEntered = Double.parseDouble(amountInput);
\t \t \t return amountEntered;
\t \t }
\t }
Я не включил весь мой код, но я стараюсь, чтобы получить количество введенного из текстового поля методов, расположенных в классе Check, так что они будут потом изменение влияет на переменные класса Transaction. Я не думаю, что я делаю это наилучшим образом.
Почему не первая попытка сделать это самостоятельно и посмотреть, что вы можете придумать? Тебе нечего терять в попытке и все выиграть. Тогда, если вы успешны - здорово, вы сделали хорошо и сами по себе, и если вы потерпите неудачу, то нет большой проблемы, так как вы можете вернуться сюда, задать новый вопрос, ** более конкретный и ответный вопрос **, и, скорее всего, получите отличный и быстрый ответ. –
Кроме того, ваши инструкции в значительной степени объясняют, что вы должны делать. С помощью этих инструкций и почти любого введения в книгу Java или учебник по абстрактным классам вы должны иметь возможность по крайней мере начать самостоятельно. Опять же, я настоятельно призываю вас сделать именно это. –