我开始学习Java了很久。并学习Netbeans 7.0。
我只是想确保我这样做。
我基本上需要制作一个applet,但不是基于AWT,而是基于Swing。
所以我需要扩展JApplet,而不是Applet。我理解在摇摆中绘制Jpanel而不是awt canvas(或Panel)。所以我在一个网站上读到,需要覆盖PaintComponent()而不是像使用awt applet那样覆盖paint()?
我需要制作一个非常简单的小程序,比如一个按钮,当我点击它时,我想画一个图形,说一条线或一个圆圈,并让输出转到按钮下方的区域。
这就是我做的事情
到目前为止,我是否在正确的轨道上?现在我打开源文件,然后看到init()方法。
现在是我需要帮助的地方。不知道我需要插入的代码只是为刚刚添加的JPanel画一条线。我知道我需要在这里插入它:
我尝试了“插入代码”功能,并选择覆盖,但是没有看到PaintComponent()?
我知道如何在swt applet中执行此操作,只需添加一个paint(Graphics g)方法。但是当我这样做时,图形不会在Jpanel区域内绘制。基本上,我如何告诉它在特定的JPanel区域绘制内容?
如果有人告诉我我需要插入哪些代码来绘制一条线或任何要在该JPanel上显示的graphics2D对象,我会在底部添加,这样会很棒。
感谢, --Nasser
只是澄清一下:如果我在Jpanel上添加这个函数来绘画:
public void paint(Graphics g)
{
super.paint(克);
g.drawString(....);
}
然后输出显示确定,但它在主日本。并且可以隐藏按钮和任何其他UI组件。
我需要将绘画输出转到我之前在按钮下面添加的特定Jpanel。到这个
private javax.swing.JPanel jPanel1;
所以,我的问题是,如何绘制/绘制到上面的对象而不是主Jpanel?
我试图改变JPanel背景颜色,但它无法正常工作。这是代码。 我也试过JpanelForm而不是JApplet Form。可以使用JFrame表单制作applet吗?因为这需要一个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
}
答案 0 :(得分:4)
NetBeans“确实”支持JApplet。创建一个新项目后,在项目编辑区域左侧的“项目”窗格中单击项目的包,然后选择新建 - > JApplet的
答案 1 :(得分:1)
netbeans不支持制作JApplets,只支持applet。使用标准文本编辑器设计JApplet接口,然后使用javac编译源代码。
答案 2 :(得分:1)
我刚才经历过同样的事情,你只需要从文件中取出包名并进行编译即可。您将在netbeans中收到一条消息,即applet未初始化,这是正常的,只需转到存储.class文件的源文件夹,您将找到多个NewJApplet.class文件,您将看到一些带有$符号的文件。
将所有.class文件与html文件一起复制,就是这样。查看使用浏览器上的表单创建的JApplet。使用java创建任何东西都非常有趣。