Java JLabel不能垂直对齐

Java JLabel不能垂直对齐,java,Java,我知道它们是这个问题的答案,但对我来说根本不起作用。 我试过: /* titleTextLabel.setAlignmentX(JLabel.CENTER_ALIGNMENT); titleTextLabel.setAlignmentY(JLabel.CENTER_ALIGNMENT); titleTextLabel.setHorizontalAlignment(SwingConstants.CENTER); titleTextLabel.set

我知道它们是这个问题的答案,但对我来说根本不起作用。 我试过:

   /*
     titleTextLabel.setAlignmentX(JLabel.CENTER_ALIGNMENT);

     titleTextLabel.setAlignmentY(JLabel.CENTER_ALIGNMENT);

     titleTextLabel.setHorizontalAlignment(SwingConstants.CENTER);
     titleTextLabel.setVerticalAlignment(SwingConstants.CENTER); also JLabel.CENTER 
 /*
但它根本不起作用。 这里是完整的代码,如果有人想检查

若你们认为问题出在JFrame方面,那个就不是了。并没有一个地方可以制造失败(基本的正常情况)

另外,我正在添加此代码的照片以及应用程序的照片:


你有两个问题,第一,为什么你有第二个JPanel?JLabel没有在JPanel中居中,因为它有一个流布局

不用第二个JPanel,只需使用JLabel即可

  private   void setUpStart(){
        titleTextLabel=new JLabel();
        titleTextLabel.setBounds(200,50,600,150);
        titleTextLabel.setFont(new Font("Arial",Font.PLAIN, 30));
        titleTextLabel.setHorizontalAlignment(JLabel.CENTER);
        titleTextLabel.setVerticalAlignment(JLabel.CENTER);
        titleTextLabel.setText("ASCENDING DARKNESS");
        titleTextLabel.setOpaque(true);
        titleTextLabel.setBackground(Color.WHITE);
        this.add(titleTextLabel);
    }

检查。问题是,你的JLabel是字体居中的,但是JLabel很小,并且它在标题栏中的位置是流动布局。你说的第二个JPanel是什么意思。在code
titleTextPanel
中只有一个是另一个JPanel,JFrame的内容窗格也是JPanel。你将它的布局设置为空。哇,谢谢。我想我必须将标签添加到面板中,就像标签是无边框的一样。谢谢你,所以我想问我是否可以添加没有JPanel的按钮。就像它的面板一样,对吗?从技术上讲,有一个面板正在添加组件。JFrame有一个面板,即内容窗格。如果要向内容窗格添加按钮,可以。由于您将布局设置为null,因此必须告诉它将按钮放在何处。例如,
myButton.setBounds(x,y,w,h)
  private   void setUpStart(){
        titleTextLabel=new JLabel();
        titleTextLabel.setBounds(200,50,600,150);
        titleTextLabel.setFont(new Font("Arial",Font.PLAIN, 30));
        titleTextLabel.setHorizontalAlignment(JLabel.CENTER);
        titleTextLabel.setVerticalAlignment(JLabel.CENTER);
        titleTextLabel.setText("ASCENDING DARKNESS");
        titleTextLabel.setOpaque(true);
        titleTextLabel.setBackground(Color.WHITE);
        this.add(titleTextLabel);
    }