(I'm not even close to being sure that this is even a valid approach to what I want to accomplish. Still, all input is welcome. What I was trying to do was create an applet that reads):

"Please pass the butter."
A quote by jack padron
Can you think of a better quote?
Please, write it here.

(then, of course the user writes his or her quote. After that, my program would print):

Please write the author of the quote here.

(After entering the author, it would print the quote that the user wrote and the author underneath.I coded it perfectly as a regular java program that was unappletatized. Then I wanted to put it all into applet form... This is where I'm sure I messed up. My new weird Applet program [a modified version of the original non-applet program] doesn't work. (The original was all System.out.println(); not page.draw) I'm sure that it's laced with mistakes, but there is only one runtime error and it is the classic

"java.lang.NoSuchMethodError: main Exception in thread "main" "

(Here is my program)

import java.applet.Applet;
import java.awt.*;
import java.util.Scanner;

public class Quote extends Applet 

    public void paint(Graphics page)


            String theirQuote; 

            String theAuthor;

            Scanner scan = new Scanner(System.in); 

            page.drawString ("\"Please pass the butter.\"", 110, 70);

            page.drawString ("A quote by jack padron", 110, 70);

            page.drawString ("-------------------------------------------", 110, 70);

            page.drawString ("Can you think of a better quote?", 110, 70);

            page.drawString ("Please, write it here.", 110, 70);
            theirQuote = scan.nextLine();

            page.drawString ("Please write the author of the quote here.", 110, 70); 
            theAuthor = scan.nextLine();

            page.drawString ("-------------------------------------------", 110, 70);

            page.drawString ("Tadaaaa!!! This is the quote you entered.", 110, 70);

            page.drawString ("...and the author :)", 110, 70);

            page.drawString (theirQuote, 110, 70);

            page.drawString ("         -" + theAuthor, 110, 70);


Recommended Answers

All 2 Replies

If you have any questions about what I was trying to explain, just ask, of course.

This works absolutely file. Try it.

package applet;

import java.awt.Graphics;

 * @author  desperado
public class JQuote extends javax.swing.JApplet {
    /** Initializes the applet JQuote */
    public void init() {
        try {
            java.awt.EventQueue.invokeAndWait(new Runnable() {
                public void run() {
        } catch (Exception ex) {
    /** This method is called from within the init() method to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jSeparator1 = new javax.swing.JSeparator();
        jLabel2 = new javax.swing.JLabel();
        txtQuote = new javax.swing.JTextField();
        ok = new javax.swing.JButton();
        jSeparator2 = new javax.swing.JSeparator();

        jLabel1.setText("Please Pass The Butter. -- A quote by Jack Pardon");

        jLabel2.setText("Enter Your Quote");

        ok.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
                    .addComponent(jSeparator2, javax.swing.GroupLayout.DEFAULT_SIZE, 385, Short.MAX_VALUE)
                    .addComponent(jSeparator1, javax.swing.GroupLayout.DEFAULT_SIZE, 385, Short.MAX_VALUE)
                    .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 355, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(txtQuote, javax.swing.GroupLayout.PREFERRED_SIZE, 229, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(26, 26, 26)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(txtQuote, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(189, Short.MAX_VALUE))
    }// </editor-fold>

private void okActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    Graphics g = this.getGraphics();
    g.drawString(txtQuote.getText(), 110, 70);
    // Variables declaration - do not modify
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JSeparator jSeparator2;
    private javax.swing.JButton ok;
    private javax.swing.JTextField txtQuote;
    // End of variables declaration
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.