Java 我的jLabel都不会出现

Java 我的jLabel都不会出现,java,swing,jframe,jlabel,Java,Swing,Jframe,Jlabel,因此,我在一个编程类中为我的最后一个项目制作了一个日历程序,并添加了一个月中列出的天数,我有一大堆jlabel作为实例变量(对于6×7的网格,42个) 然后我有一个方法,可以得到我设置的当前月份,并根据它返回的内容,我有一大堆if语句来设置数字的去向(我计划将42个放在设置的位置,并根据月份更改它们的内容,而不是移动31的位置) 我更有经验的朋友建议在if语句中创建对象,这就是它的样子。在这12条if语句之后,我设置了边界并将其添加到框架中 day10.setBounds(100, 100, 5

因此,我在一个编程类中为我的最后一个项目制作了一个日历程序,并添加了一个月中列出的天数,我有一大堆jlabel作为实例变量(对于6×7的网格,42个)

然后我有一个方法,可以得到我设置的当前月份,并根据它返回的内容,我有一大堆if语句来设置数字的去向(我计划将42个放在设置的位置,并根据月份更改它们的内容,而不是移动31的位置)

我更有经验的朋友建议在if语句中创建对象,这就是它的样子。在这12条if语句之后,我设置了边界并将其添加到框架中

day10.setBounds(100, 100, 500,500);
add(day10);
我把它放在那个位置只是为了测试它是否出现并使用第10天,因为无论哪个月,第10天总是有一个实际值

尽管每当我运行这个程序时,JLabel都会失败,如果不这样做,我的程序就无法正常运行。如果有帮助的话,我有大约20个类(每个月一个,一个main,一个threads类,一个gui,还有一些其他类,用于我仍在使用的其他函数)

这段代码来自gui类。如果它可能在这方面发挥作用,我让类交互的方式是,主类调用threads类threads获取日期并打开该月的类该类打开gui,然后所有按钮都通过处理程序类运行,该处理程序类将数据发送到threads类以完成更多操作,然后您只需按下单击x按钮退出

我的gui类名是:

public class Gui extends JFrame
当我调用该类时,我将流布局设置为null,并且它对其他所有内容都有效(jcomboxes、jbuttons)


当我使用add(day#)语句时,因为它扩展了jframe,所以应该将它添加到框架中,并且除了这些之外,它还可以用于所有其他事情,包括jlabel。

您需要将标签添加到面板中

//adds label to panel
myPanel.add(label);
然后将面板添加到框架

//adds panel to frame
myFrame.add(myPanel);

你能提供更多的代码吗?特别是你的“类名”可能不是从JFrame扩展的,或者你是在你的类中创建一个新的JFrame。这就是我能帮你的全部。你
.add()
-在哪里整理你的标签?创建一个新的标签并不会固有地把它放在屏幕上;你必须告诉它你想要它去哪里。尝试使用父面板上的FlowLayout。如果你每个月都有一个类,那么你的设计就是有缺陷的。还要创建一个标签数组并在循环中初始化它们,不要创建42个已声明的实例。如果您确实希望在不初始化的情况下创建相同类型的多个实例,则可以编写
JLabel-label1、label2-label3
保存多行代码。对于日历表示,创建一个6乘7的
网格布局
,每个月只需指定开始放置标签的第一个位置。您应该为月份及其第一个值使用枚举,或者类似的方法。哦,我没有使用JPanels,我让gui实现了jframe,所以我不必执行frame.add()和add。我做了一个常规标签来添加,这很有效,所以我担心它可能是if语句的一部分,但我会尝试使用jPanel。谢谢
//adds label to panel
myPanel.add(label);
//adds panel to frame
myFrame.add(myPanel);