私はこれをブラウザなどに入れているのではなく、これをEclipseでアプレットとして実行したいだけですが、まったく成功していません。最初にコードを投稿してから、特定のもの (つまり、コンストラクターなど) をコメントアウトして、試した解決策を投稿します。
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
class LoanCalculator extends JApplet {
//Loan Calc text fields
private JTextField annInterestRate = new JTextField();
private JTextField numOfYears = new JTextField();
private JTextField lnAmount = new JTextField();
private JTextField monthlyPayment = new JTextField();
private JTextField totalPayment = new JTextField();
//Loan Calc buttons
private JButton computeLoan = new JButton("Compute Payment");
public LoanCalculator(){
//Panel for textfield and labels
JPanel txtAndLabels = new JPanel(new GridLayout(5, 2));
txtAndLabels.add(new JLabel("Annual Interest Rate"));
txtAndLabels.add(annInterestRate);
txtAndLabels.add(new JLabel("Number of Years"));
txtAndLabels.add(numOfYears);
txtAndLabels.add(new JLabel("Loan Amount"));
txtAndLabels.add(lnAmount);
txtAndLabels.add(new JLabel("Monthly Payment"));
txtAndLabels.add(monthlyPayment);
txtAndLabels.add(new JLabel("Total Payment"));
txtAndLabels.add(totalPayment);
txtAndLabels.setBorder(new TitledBorder("Enter loan amount, interest rate, and years"));
//Button panel
JPanel button = new JPanel(new FlowLayout(FlowLayout.RIGHT));
button.add(computeLoan);
//Add panels
add(txtAndLabels, BorderLayout.CENTER);
add(button, BorderLayout.SOUTH);
//Listener for button
computeLoan.addActionListener(new ButtonListener());
}
/** Compute Payment Button **/
private class ButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
//Get text field values
double interest = Double.parseDouble(annInterestRate.getText());
int year = Integer.parseInt(numOfYears.getText());
double loanAmnt = Double.parseDouble(lnAmount.getText());
//Create loan object
Loan loan = new Loan(interest, year, loanAmnt);
//Display Monthly Payment and Total Payment
monthlyPayment.setText(String.format("%.2f", loan.getMonthlyPayment()));
totalPayment.setText(String.format("%.2f", loan.getTotalPayment()));
}
}
public static void main(String[] args) {
/**JFrame frame = new JFrame("Loan Calculator applet");
LoanCalculator loanApplet = new LoanCalculator();
frame.add(loanApplet, BorderLayout.CENTER);
frame.setSize(300, 200);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
**/
}
}
貸し出し用の別のクラスがあります。このプログラムは、アプリケーションとしてうまく機能します。だから私は主な議論をコメントアウトしました
//public static void main(String[] args){ ... }
コンストラクターをコメントアウトしました
//public LoanCalculator(){ .... }
そしてinitコンストラクタを作りました
public void init(){ ... }
グローバル演算子を使用してインポートできることを認識しています。私が行方不明になっているものはありますか?任意の支援をいただければ幸いです。前もって感謝します。