gpt4 book ai didi

java - 来自另一个类的 JPanel 不会出现在主 JFrame 中

转载 作者:行者123 更新时间:2023-11-30 06:55:59 25 4
gpt4 key购买 nike

这是我的主框架代码

import javax.swing.*;
import java.awt.*;

public class MainGUI extends JFrame {

cPanel cP = new cPanel();

public static void main(String[] args) {
MainGUI main = new MainGUI();
main.setVisible(true);
}

private MainGUI(){
setTitle("X");
setResizable(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);
add(cP);
}


}

然后是我的JPanel代码

import java.awt.GridLayout;
import javax.swing.*;

public class cPanel extends JPanel{

//cPanel
JPanel cP1 = new JPanel();

//Panel 1
JLabel lb1 = new JLabel("dx");
JLabel lb1dx = new JLabel("dx (pixel)");
JTextField tf1dx = new JTextField(5);
JLabel lb1dy = new JLabel("dy (pixel)");
JTextField tf1dy = new JTextField(5);
JButton btn1 = new JButton("move");


public void cPanel(){
setBounds(0, 0, 600, 190);
setLayout(new GridLayout(1, 8));
add(cP1);

//Panel 1
cP1.add(lb1);
cP1.add(lb1dx);
cP1.add(tf1dx);
tf1dx.setText("10");
cP1.add(lb1dy);
cP1.add(tf1dy);
tf1dy.setText("10");
cP1.add(btn1);
}

}

面板似乎没有出现。框架出现时带有标题但没有大小,向框架添加 pack() 没有任何作用。我已经尝试了很多方法,包括创建一个新类来尝试,我的代码有什么问题吗?

最佳答案

public void cPanel(){ //get rid of void as it is a constructor not a method.
//public cPanel(){ instead
setBounds(0, 0, 600, 190);
setLayout(new GridLayout(1, 8));
add(cP1);


private MainGUI(){
setTitle("X");
setResizable(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null); //change this to setSize(500, 200) or something.
add(cP);
}

关于java - 来自另一个类的 JPanel 不会出现在主 JFrame 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34719192/

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