【问题标题】:running a JApplet in eclipse在 Eclipse 中运行 JApplet
【发布时间】:2013-09-17 09:34:00
【问题描述】:

我没有把它放在浏览器或任何东西中,我只是想在 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(){ .... }

并创建了一个初始化构造函数

  public void init(){ ... }

我知道我可以使用全局运算符进行导入。 谁,有什么我想念的吗?任何帮助表示赞赏。提前谢谢你。

【问题讨论】:

    标签: java eclipse swing japplet mainclass


    【解决方案1】:

    如果您在 Web 浏览器中显示小程序控制台(或仅使用 appletviewer),您将看到错误

    load: LoanCalculator.class is not public or has no public constructor.
    

    即将类声明为public

    public class LoanCalculator extends JApplet {
    

    【讨论】:

    • 我发誓是个人生活的压力让我心烦意乱!谢谢你,兄弟!我看到了那个错误,而且,通常“Duh”错误不会让我明白,但这必须尽可能接近“DUH !!!!!”当它得到。给先生点个赞!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 2014-02-24
    相关资源
    最近更新 更多