gpt4 book ai didi

java - Netbeans - 将 JPanel 添加到 JFrame - 问题

转载 作者:行者123 更新时间:2023-12-02 06:53:47 25 4
gpt4 key购买 nike

我正在使用 netbeans,我使用 netbeans 创建了一个 JFrame 表单,它创建了我也编辑过的以下类:

public class Gui extends javax.swing.JFrame {

public Gui() {
initComponents();
this.setVisible(false);
this.setLocationRelativeTo(null); // finestra al centro dello schermo
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 804, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 536, Short.MAX_VALUE)
);

pack();
}// </editor-fold>
}

之后,我创建了一个 JPanel 类,我想将其添加到之前的 Gui JFrame 中:

public class Gui_JTabbedPane extends JPanel {

public Gui_JTabbedPane() {
super(new GridLayout(1, 1));

JTabbedPane tabbedPane = new JTabbedPane();

JComponent panel1 = makeTextPanel("Try");

tabbedPane.addTab("Try", panel1, "Does nothing");
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
add(tabbedPane);
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
}

protected JComponent makeTextPanel(String text) {
JPanel panel = new JPanel(false);
JLabel filler = new JLabel(text);
filler.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(new GridLayout(1, 1));
panel.add(filler);
return panel;
}
}

所以在我的主课中我这样做了:

 Gui_JTabbedPane tabbedpane = new Gui_JTabbedPane();
Gui gui = new Gui();
gui.add( tabbedpane );
gui.setVisible(true);

问题是它只显示 JFrame (Gui),而没有像我想要的那样在其中显示 JPanel ('GuiJTabbedPane`)。

相反,如果我编辑第一个类 (Gui),删除 initComponents();,则不会显示 JFrame,但这次 JPanel 会显示.

如何解决这个问题仅使用/编辑这两个类

谢谢

最佳答案

您应该使用 Netbeans 来完成所有 GUI 工作,或者手动完成。混合使用两者通常会导致奇怪的行为,因为默认情况下,Netbeans 使用 GroupLayout,并且如果您不使用该布局并在 Component 中对组件进行分组Netbeans,它们可能只是不显示,就像您刚刚经历的那样。 Savior Self 得到了部分答案,因为删除 Gui JFrame 的布局使一切都显示良好。

我建议您使用 Netbeans,因为它的 GUI 编辑器是一个很好的编辑器。您也可以自己完成,但这通常需要更多测试。

编辑:要将您自己的组件添加到Netbeans调色板,您可以进入工具->调色板->Swing组件,这将打开调色板编辑器(使用 netbeans 7.3)。从那里,单击从项目添加并选择您的项目,这将显示可以添加的可用组件。选择您想要的。

关于java - Netbeans - 将 JPanel 添加到 JFrame - 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17676102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com