如何在Java中定位和调整JLabel的大小?

如何在Java中定位和调整JLabel的大小?,java,jframe,jlabel,Java,Jframe,Jlabel,我希望能够定位我的两个JLabel,但当我更改位置行中的值时,它什么也不做。此外,当我运行它时,只显示第二个标签 我的代码: import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingConstants; public class cubeTimerClass { public static void main(String[] args) { window(); //R

我希望能够定位我的两个JLabel,但当我更改位置行中的值时,它什么也不做。此外,当我运行它时,只显示第二个标签

我的代码:

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

public class cubeTimerClass {

    public static void main(String[] args) {
        window(); //Runs the window method
    }

    public static void window() {
        //Create a window
                JFrame window = new JFrame(); //Create the window object
                window.setSize(900, 600); //Set the size of the window
                window.setTitle("Cube Timer"); //Set the title of the window
                window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Tells the program to quit when user closes the window
                window.setVisible(true); //Make the window visible

                //Create a label
                JLabel label1 = new JLabel(""); //Create the label1 object
                label1.setText("Message 1"); //Set the text for label1
                label1.setAlignmentX(0);
                label1.setAlignmentY(0);
                window.add(label1); //Place the label on the window

                //Create a label
                JLabel label2 = new JLabel(""); //Create the label2 object
                label2.setText("Message 2"); //Set the text for label2
                label2.setAlignmentX(0);
                label2.setAlignmentY(50);
                window.add(label2); //Place the label on the window
    }
}
检查一下这个-

JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JPanel panel = (JPanel) frame.getContentPane();
    panel.setLayout(null);

    JLabel label = new JLabel("Java");
    panel.add(label);
    Dimension size = label.getPreferredSize();
    label.setBounds(90, 100, size.width, size.height);

    frame.setSize(300, 200);
    frame.setVisible(true);

你应该从阅读开始。当然还有JLabel.setAlignment文档,因为这不是它的用途。如果您想自己设置标签的位置,则需要删除布局管理器设置null。但是,不建议这样做,您应该首先阅读AxelH链接整个主题的主题,而不仅仅是链接的部分。这对我很有效,我不理解line Dimension size=label.getPreferredSize;。我说的正确吗?它计算标签中文本的大小,然后相应地设置变量“宽度”和“高度”?是的,这里使用空布局。需要根据添加到JLabel的文本计算大小。