JLabel 不居中

酷利欧

所以我一直在开发一个java程序,我试图让JLabel在窗口中间居中,但我所做的标签只是在顶部中心。我希望有人能帮助找到一种方法让文本居中在窗口中间。这是我的代码:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;

public class Lottery extends JPanel implements ActionListener {


    private static final long serialVersionUID = 5815877011755522230L;

    private JLabel label;

    public static void main(String[] args) {    
        make();

    }

    public Lottery() {

        label = new JLabel("Hello There");
        label.setHorizontalAlignment(JLabel.CENTER);
        label.setVerticalAlignment(JLabel.CENTER); 
        add(label);

    }

    public static void make(){
        JFrame frame = new JFrame("Lottery");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Lottery hi = new Lottery();
        frame.setContentPane(hi);

        frame.setSize(600, 600);
        frame.setVisible(true);

    }


}

有人可以帮我解决这个问题。

米哈伊尔·安东诺夫

替换添加(标签);和:

setLayout(new BorderLayout());
add(label, BorderLayout.CENTER);

并且不要忘记导入 java.awt.BorderLayout;

您的代码会在标签内对齐文本,但标签本身并未在您的面板中居中。无论如何,您都必须修改布局。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;

import java.awt.BorderLayout;

public class Lottery extends JPanel {


    private static final long serialVersionUID = 5815877011755522230L;

    private JLabel label;

    public static void main(String[] args) {
        make();

    }

    public Lottery() {

        label = new JLabel("Hello There");
        label.setHorizontalAlignment(JLabel.CENTER);
        label.setVerticalAlignment(JLabel.CENTER);
        //add(label);
        setLayout(new BorderLayout());
        add(label, BorderLayout.CENTER);

    }

    public static void make(){
        JFrame frame = new JFrame("Lottery");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Lottery hi = new Lottery();
        frame.setContentPane(hi);

        frame.setSize(600, 600);
        frame.setVisible(true);

    }


}

截图:https : //postimg.org/image/67vjv79jh/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章