如何让我的自定义jpanel在另一个类中显示?

camsedfj  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(293)

我写了一个小程序,仅供个人使用,以双重检查策略的手机游戏。我创造了一个 Board 类和框架等等,然后我在包中创建了一个新的panel类(我使用eclipse)。我想这很简单,只需创建两个面板,实现面板并将其添加到 Board 班级。唉,我错了。
tubepanel-我的辅助面板

package ballSort;

import java.awt.Color;
import java.awt.Font;

import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerListModel;
import javax.swing.JLabel;

public class TubePanel extends JPanel {

    /**
     * Create the panel.
     */
    public TubePanel() {
        setBackground(new Color(47, 79, 79));
        setBounds(10, 10, 30, 40);
    }
}

这是我主板课的节选

panel_1 = new JPanel();
    panel_1.setBounds(118, 164, 726, 466);
    frame.getContentPane().add(panel_1);

    JButton btnNewButton_1 = new JButton("X");
    btnNewButton_1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            frame.dispose();
        }
    });
    btnNewButton_1.setFont(new Font("Tahoma", Font.PLAIN, 89));
    btnNewButton_1.setBounds(10, 122, 85, 124);
    frame.getContentPane().add(btnNewButton_1);
}

public void Create(int tubes) {
    TubePanel tube = new TubePanel();
    panel_1.add(tube);

    System.out.println(tube);
    System.out.println(panel_1);
}

我是这里的白痴吗?就我而言,这应该是有效的,但显然我不知道java的方式[只编写了4年的java语言。]不管怎样,问题是它没有显示tubepanel。它也没有给出任何错误,所以我不得不使用sysout来查看它是否有任何问题,然后 panel_1 作为比较。。。

ballSort.TubePanel[,10,10,30x40,**invalid**,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
javax.swing.JPanel[,118,164,726x466,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]

除了无效的(我试图跟随它到它的根,我无法找出它)没有什么不同,从面板1相比,管。
非常感谢您的帮助。

isr3a4wc

isr3a4wc1#

请参阅题为laying out components in a container from trail creating a gui with jfc/swing的课程,这是oracle java教程的一部分。
的内容窗格的默认布局 JFrameBorderLayout . 将组件添加到内容窗格时,它将添加到内容窗格的中心区域 BorderLayout . 中心区域(和所有其他区域) BorderLayout 只能包含单个组件。因此,当您将两个组件添加到中心区域时,将只显示一个组件。请参阅类中的add方法(组件、对象) java.awt.Container 因此,研究布局管理器,并决定哪一个是合适的。

相关问题