当前位置: 首页 > 知识库问答 >
问题:

将JPanel调用到JFrame

颜高朗
2023-03-14
SubnetPanel panel = new SubnetPanel(String a, String b, String c);
private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {                                          
    // TODO add your handling code here:
    String a = JOptionPane.showInputDialog(null, "Geef de naam in : ", 
    "Naam", 1);
    String b = JOptionPane.showInputDialog(null, "Geef het netwerkadres in : ", 
    "Netwerkadres", 1);
    String c = JOptionPane.showInputDialog(null, "Geef het subnetmask in : ", 
    "Subnetmask", 1);

    this.add(new SubnetPanel(a,b,c) {
             @Override
             public void paintComponent( Graphics g ) {
                super.paintComponent(g);
                Graphics2D g2 = (Graphics2D)g;

                Line2D line = new Line2D.Double(10, 10, 40, 40);
                g2.setColor(Color.blue);
                g2.setStroke(new BasicStroke(10));
                g2.draw(line);
             }
        });
        this.setVisible( true );

} 

但当我执行我的JFrame并单击该按钮时,JFrame不会出现。有谁能帮我一下吗?

谢谢!

共有1个答案

穆商震
2023-03-14

从可见帧中添加(或删除)组件的基本代码是:

panel.add(...);
panel.revalidate();
panel.repaint();

在您的示例中,“Panel”将是您的JFrame的内容窗格。

此外,当您进行自定义绘制时,还需要重写面板的getPreferredSize()方法,因此布局管理器可以使用此信息设置面板的大小/位置。

 类似资料:
  • 我正在尝试将此 JPanel 添加到 JFrame 中,但我看不到他。当我创建新的 java 类并自己制作这个框架时,一切都很好。 来自JFrame表单的代码。 来自 JPanel 的代码: 来自Java类的代码。 我想不出区别在哪里。有人能帮我吗?

  • 我正在做一个GUI,当你按下“下一步”按钮时,它会一个接一个地显示某个目录中的图像。

  • 问题内容: 我有一个gui,它的Panel包含一系列标签和TextField,并使用spring布局(这是mainPanel),而另一个Panel仅包含button(buttonPanel)。我正在尝试使我的mainPanel也具有垂直滚动条。我想实现我的GUI,以便在JFrame中有2个面板。mainPanel出现在框架的顶部,而buttonPanel出现在mainPanel的下方。 我的问题是

  • 我正在创建一个swing应用程序,并希望将JfreeChart添加到JPanel中。我创建了一个方法,在该方法中我创建了如下所示的图表: 创建了一个全局变量: 由于某种原因,当我点击按钮时,图表没有显示出来。

  • 我目前有一个主JFrame包含几个JPanels,每个面板中都有一些文本。创建JPanels的代码在一个单独的类中(它“实现”JPanels)。如何仅向单个面板添加JScrollPane? 我已经花了一些时间尝试这样做,但什么也没有发生。顺便说一下,我的JPanel使用GridLayout 上面的类是另一个面板类的实例变量,它是主面板“MenuHold”的实例变量。但使用“MenuHolder”的

  • 我想将添加到中,然后将添加到中。我设法在上显示了,但我想将添加为的第4个选项卡。 显示图表的代码: 要添加到TabbedPane的代码: