gpt4 book ai didi

java - 如何添加一个扩展JPanel的类,并显示自己的面板和按钮?

转载 作者:行者123 更新时间:2023-12-01 07:59:10 25 4
gpt4 key购买 nike

我在 JFrame(fr1) 上放置了 JPanel(jp1),但是 jp2 去哪里了?

我想在 fr1 上显示 jp1 中包含的 jp2 吗?

(“开始!”和“调试”按钮应该都显示在窗口上)

怎么办?

import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;

public class F extends JFrame {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
F fr1 = new F();
P jp1 = new P();
jp1.add(new JButton("start!"));
fr1.setSize(1024, 768);
fr1.add(jp1, BorderLayout.CENTER);
fr1.setVisible(true);

}

}

class P extends JPanel{
private JPanel jp2;
private JButton b2;
public P(){
jp2 = new JPanel();
jp2.setBackground(Color.green);
b2 = new JButton("DEBUGGING.");
jp2.add(b2);
}
}

最佳答案

使用 this.add 或在类 p 中使用 add 将组件添加到 jpanel p[class p]。你的类 p 本身就是一个 jpanel 因为它是由 jpanel 扩展的。因此您需要将 jp2 添加到该面板。

并且关心您的panel[class p]布局,您可以通过setLayout...在类p内设置布局

class P extends JPanel{
private JPanel jp2;
private JButton b2;
public P(){
jp2 = new JPanel();
jp2.setBackground(Color.green);
b2 = new JButton("DEBUGGING.");
jp2.add(b2);
// setLayout.....use a appropriate layout if you need
add(jp2);
}
}

关于java - 如何添加一个扩展JPanel的类,并显示自己的面板和按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26522924/

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