Как преобразовать программу Java в апплет? - PullRequest
1 голос
/ 28 ноября 2011

Я хотел бы преобразовать мою простую Java-программу в программу апплета.Я искал разные учебные пособия, но в целом все они не говорили о графическом интерфейсе для Applet.

Это моя простая программа, если вы можете дать мне указание сделать это или прокомментировать измененные строки, которые ябыл бы очень признателен.

Вот код:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Test_Exam_091 {

    public static void main(String[] args) {
        new MyFrame();
    }
}

class MyFrame extends JFrame implements MouseListener {

    public MyFrame() {
        setTitle("Playing With The Mouse!");
        setSize(400, 400);
        setResizable(false);
        setVisible(true);
        addMouseListener(this);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        show();
    }

    public void mouseEntered(MouseEvent me) {
        System.out.println("Mouse entered at: ("
            + me.getX() + ", " + me.getY() + ")");
    }

    public void mouseExited(MouseEvent me) {
        System.out.println("Mouse exited at: ("
            + me.getX() + ", " + me.getY() + ")");
    }

    public void mouseClicked(MouseEvent me) {
        System.out.println("Mouse clicked at: ("
            + me.getX() + ", " + me.getY() + ")");
    }

    public void mousePressed(MouseEvent me) {
        System.out.println("Mouse pressed at: ("
            + me.getX() + ", " + me.getY() + ")");
    }

    public void mouseReleased(MouseEvent me) {
        System.out.println("Mouse released at: ("
            + me.getX() + ", " + me.getY() + ")");
    }
} // End of MyFrame class

Ответы [ 2 ]

2 голосов
/ 28 ноября 2011

JApplet является потомком java.awt.Panel, который также действует как контейнер Swing, поэтому его можно использовать практически взаимозаменяемо с другими контейнерами, такими как JFrame и JPanel.

1 голос
/ 29 ноября 2011

Несколько советов: большинство строк конструктора не имеют отношения к апплетам.

setTitle("Playing With The Mouse!"); // An applet has no title 
    // (Though it might have an ID/name in HTML)
setSize(400, 400);  // Set in HTML
setResizable(false); // An applet is usually fixed size
setVisible(true); // Not relevant to an applet (visible by default)
addMouseListener(this); 
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Not allowed in an applet
show(); // Deprecated for components around 1.2, for TLCs around 1.5, ..
    // ..and redundant

В методах прослушивателя ..

System.out.println("Mouse pressed at: (" + me.getX() + ", " + me.getY() +")");

Будет причиной проблем, так как этот вывод будетв конечном итоге в консоли Java, которая обычно невидима для конечного пользователя (и большинства разработчиков).Это не особенно подходило для формы JFrame.Для отображения результатов необходимо добавить JLabel или аналогичный графический интерфейс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...