Создание JApplet (апплет на основе свинга) с NetBeans? - PullRequest
1 голос
/ 08 июня 2011

Я начинаю изучать Java немного спустя долгое время.И изучая Netbeans 7.0.

Я просто хочу убедиться, что я делаю это хорошо.

Мне нужно сделать апплет, но не на AWT, а на Swing.

Так что мне нужно расширять JApplet, а не Applet.Я понимаю, что в Swing рисует на Jpanel вместо AWT холст (или Panel).И поэтому я прочитал на веб-сайте, что нужно переопределить PaintComponent () вместо переопределения paint (), как в случае с апплетом awt?

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

Это то, что я сделал

  1. Файл-> Новый проект
  2. Выберите Java и в проектах, выберите «Приложение Java»
  3. Убедитесь, что сняли флажок «Создать главный класс», и нажмите «Готово»
  4. Файл-> Новый файл
  5. Выберите «Swing GUI Forms» из-под панели каталогов.
  6. В «Типах файлов» выберите Форма Japplet, Далее и Готово
  7. ИзПалитра, из Swing Controls, выберите Button и положите его от
  8. Теперь сложная часть.Мне нужна область для рисования, верно?Итак, я из палитры, я выбираю из контейнеров Swing «Панель» и кладу ее на форму, изменяя ее размер по мере необходимости.Теперь у меня есть это:

enter image description here

Я на правильном пути?Теперь я открываю исходный файл и вижу метод init ().

Теперь мне нужна небольшая помощь.Не уверен, какой код мне нужно вставить, чтобы просто нарисовать линию на JPanel, которую я только что добавил.Я знаю, что мне нужно вставить его здесь:

enter image description here

Я попробовал функцию "Вставить код" и выбрал переопределение, но не вижу PaintComponent ()?

Я знаю, как это сделать в апплете SWT, просто добавьте метод рисования (Graphics g).Но когда я делаю это, графика не прорисовывается внутри области Jpanel.Как мне сказать, чтобы нарисовать что-то в определенной области JPanel?

Если кто-то просто скажет мне, какой код мне нужно вставить, чтобы нарисовать линию или какой-либо объект graphics2D для отображения на той JPanel, которую я добавил под дном, это будет здорово.

спасибо, --Nasser

РЕДАКТИРОВАТЬ 1:

Просто пояснение: если я добавлю эту функцию, чтобы рисовать на Jpanel:

общедоступная краска void (Графика g)
{
super.paint (g);
g.drawString (....);}

Тогда выходные данные отображаются нормально, но через основной Japnel.И может скрыть кнопку и любые другие компоненты пользовательского интерфейса.

Мне нужен вывод краски, чтобы перейти к определенной Jpanel, который я добавил ранее под кнопкой.На этот

private javax.swing.JPanel jPanel1;

Итак, мой вопрос, как рисовать / рисовать на вышеуказанном объекте, а не на главной Jpanel?

РЕДАКТИРОВАТЬ 2:

Iпопытался просто изменить цвет фона JPanel, и он не работает.Вот кодЯ также попробовал JpanelForm вместо JApplet Form.Можно ли использовать форму JFrame для создания апплета?Поскольку для этого требуется main (), это кажется невозможным.

import javax.swing.*;
import java.awt.*;
import java.awt.Graphics;    
public class NewJApplet extends javax.swing.JApplet
{     
    /** Initializes the applet NewJApplet */
    public void init()
    {                
        jPanel1 = new JPanel();        
        try
        {
            java.awt.EventQueue.invokeAndWait(new Runnable()
            {
                public void run()
                {
                    initComponents();
                }
            });
        } catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }        
    private void initComponents() {...}
    //---------  ADDED THIS
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
    {
        // TODO add your handling code here:        
        Rectangle rect=new Rectangle(4,4);
        jPanel1.setBackground(Color.RED);                     
    }
    //---------------

    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JPanel jPanel1;
    // End of variables declaration
    }

Ответы [ 3 ]

4 голосов
/ 15 июля 2011

NetBeans «поддерживает» JApplet. После создания нового проекта, щелкните правой кнопкой мыши пакет проекта на панели «Проекты» слева от области кодирования и выберите «Создать» -> «JApplet

».
1 голос
/ 27 января 2015

Я только что прошел через то же самое, вам просто нужно извлечь имя пакета из файла и просто скомпилировать его. В netbeans вы получите сообщение о том, что апплет не инициализирован, и это нормально, просто перейдите в исходную папку, где хранятся файлы .class, вы найдете несколько файлов NewJApplet.class, некоторые из них также будут отмечены знаком $.

Скопируйте все файлы .class, поместите его вместе с html-файлом и все. Просмотрите ваш JApplet, созданный с помощью формы в браузере. Делает создание чего-либо с Java таким веселым.

1 голос
/ 18 июня 2011

netbeans не поддерживает создание JApplets, только апплеты.Используйте стандартный текстовый редактор для разработки интерфейса JApplet, а затем скомпилируйте исходный код, используя javac.

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