使用netbeans创建JApplet(基于swing的小程序)?

使用netbeans创建JApplet(基于swing的小程序)?,netbeans,applet,Netbeans,Applet,过了很长时间,我开始学习Java。以及学习Netbeans 7.0 我只是想确保我做得很好 我基本上需要制作一个applet,但不是基于AWT,而是基于Swing 所以我需要扩展JApplet,而不是Applet。我知道swing在Jpanel而不是awt画布(或面板)上绘制。所以我在一个网站上读到,我们需要重写PaintComponent(),而不是像awt applet那样重写paint() 我需要制作一个非常简单的小程序,比如说一个按钮,当我点击它时,我想画一个图形,比如一条线或一个圆,并

过了很长时间,我开始学习Java。以及学习Netbeans 7.0

我只是想确保我做得很好

我基本上需要制作一个applet,但不是基于AWT,而是基于Swing

所以我需要扩展JApplet,而不是Applet。我知道swing在Jpanel而不是awt画布(或面板)上绘制。所以我在一个网站上读到,我们需要重写PaintComponent(),而不是像awt applet那样重写paint()

我需要制作一个非常简单的小程序,比如说一个按钮,当我点击它时,我想画一个图形,比如一条线或一个圆,并将输出放到按钮下面的区域

这就是我所做的

  • 文件->新项目
  • 选择Java,然后从项目中选择“Java应用程序”
  • 确保取消选中“创建主类”,然后单击Finish
  • 文件->新文件
  • 从类别面板下选择“SwingGUI表单”
  • 从“文件类型”中,选择Japplet Form、Next和Finish
  • 从选项板的“Swing Controls”中,选择按钮并将其放置在“From”面板上
  • 现在是棘手的部分。我需要一个区域来画,对吗?所以我从调色板中,从Swing容器中选择一个“面板”,并将其放置在表单上,根据需要调整其大小。现在我有了这个:
  • 到目前为止,我在正确的轨道上吗?现在我打开源文件,看到init()方法

    现在我不需要什么帮助了。我不确定我需要插入什么代码来为我刚刚添加的JPanel画一条线。我知道我需要在这里插入它:

    我尝试了“插入代码”功能,并选择了覆盖,但没有看到PaintComponent()

    我知道如何在swt小程序中实现它,只需添加一个绘画(Graphics g)方法。但当我这样做时,图形不会在Jpanel区域内绘制。基本上,我该如何告诉它把东西画到一个特定的JPanel区域

    如果有人告诉我需要插入什么代码来画一条线或任何图形2D对象来显示在我添加在底部下方的JPanel上,那就太好了

    谢谢, --纳赛尔

    编辑1: 只是一个说明:如果我在Jpanel上添加此函数来绘制:

    公共空隙涂料(图形g)
    {
    超级油漆(g);
    g、 抽绳(……); }

    然后输出显示ok,但它通过主Japnel。并且可以隐藏按钮和任何其他UI组件

    我需要将绘制输出转到我先前在按钮下方添加的特定Jpanel。对这个

    private javax.swing.JPanel jPanel1;
    
    因此,我的问题是,如何绘制/绘制上述对象,而不是主Jpanel

    编辑2: 我试图改变JPanel的背景色,但它不起作用。这是代码。 我还尝试了JpanelForm而不是JApplet表单。可以使用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
        }
    

    netbeans不支持制作JApplets,只支持applet。使用标准文本编辑器设计JApplet接口,然后使用javac编译源代码。

    netbeans不支持生成JApplet,只支持生成applet。使用标准文本编辑器设计JApplet接口,然后使用javac编译源代码。

    NetBeans“确实”支持JApplet。创建新项目后,rt在编码区左侧的“项目”窗格中单击项目包,然后选择new->JApplet

    NetBeans“does”support JApplet。创建一个新项目后,rt在编码区左侧的“项目”窗格中单击项目的包,然后选择new->JApplet

    我刚才也做了同样的事情,您只需要从文件中取出包名并编译它。您将在netbeans中收到一条消息,说明小程序未初始化,这是正常的,只需转到存储.class文件的源文件夹即可。您将找到多个NewJApplet.class文件,您还会看到一些文件中带有$符号


    复制所有的.class文件,将其与html文件放在一起,就是这样。在浏览器上查看使用表单创建的JApplet。用java创建任何东西都非常有趣。

    我刚才也经历了同样的事情,你只需要从文件中取出包名并编译它。您将在netbeans中收到一条消息,说明小程序未初始化,这是正常的,只需转到存储.class文件的源文件夹即可。您将找到多个NewJApplet.class文件,您还会看到一些文件中带有$符号


    复制所有的.class文件,将其与html文件放在一起,就是这样。在浏览器上查看使用表单创建的JApplet。使用java创建任何东西都非常有趣。

    是的,但它不支持运行它们。我找不到任何方法来运行带有一些参数的小程序。您可以右键单击小程序并运行它,但是如果您尝试运行该项目(您可以在其中设置参数),您会被告知它没有主类。是的,但它不支持运行它们。我找不到任何方法来运行带有一些参数的小程序。您可以右键单击小程序并运行它,但是如果您尝试运行项目(您可以在其中设置参数),您会被告知它没有主类。