我在Netbeans中创建了JFrame类,并使用生成器添加了jPanel。我还有类,它扩展了JPanel。现在我想创建这个类的对象,并将他添加到JFrame中我的面板所在的位置,但我找不到正确的方法,因为我尝试的所有内容都没有结果
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Frame f = new Frame();
jPanel1 = new MyPanel();
f.pack();
f.setVisible(true);
}
});好的,也许我会给出更精确的例子:
第一个文件:
class MyPanel extends javax.swing.JPanel {
public MyPanel() {
initComponents();
}
}另一个文件,带有Frame:
public class Frame extends javax.swing.JFrame {
public Frame() {
initComponents();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Frame f = new Frame();
MyPanel p = new MyPanel();
jPanel1 = p;
}
});
}
private javax.swing.JButton jButton1;
private javax.swing.JPanel jPanel1;并且我想在jPanel1 - object MyPanel的位置设置
发布于 2020-11-19 02:49:03
你们这些人甚至都不明白这个问题。这个人有他们自己的JPanel,这是以前创建的,而不是在netbeans widget designer中创建的。他们问你如何添加你自己的自定义JPanel,你已经在其他时间构建了……转换为JFrame、Frame或netbeans designer在设计器中创建"Frame“时使用的任何内容。
问题是,如何添加以前创建的、将JPanel扩展到设计器环境中的JPanel。不,这一点都不简单。您可以插入您自己的“自定义创建代码”,并使用您自己的语句"= JPanels MyExistingCustomJPanel();“为其中一个设计器赋值,然后您的MyExistingCustomJPanel的构造函数确实会运行,但当您运行它时它永远不会绘制gui,因为您的子类在赋值过程中已被向下转换为常规的旧JPanel。
那么,如何将自己的JPanel插入到希望将其用作Netbeans表单设计器环境中的对象的项目中呢?
不是那么容易的。我从来没有找到一种清晰的方法来让我自己的JPanels做到这一点。只是一些非常丑陋的作弊行为。
这里提供的所有答案都排除了OP试图在它提供的Netbeans设计器的“框架”中使用他们自己的JPanel。根本不是直截了当的,甚至没有人理解这个问题。
我做到了,因为我在这件事上反复挣扎。
https://stackoverflow.com/questions/10623935
复制相似问题