Java - 如何在 swings 中添加换行符
Java - How to add line breaks in swings
我正在为我的小游戏添加一个按钮,但我不知道如何换行。我想要一个 space 在按钮和文本之间,代码如下:
JPanel panel1 = new JPanel();
JLabel label1 = new JLabel("Welcome to the Wall Game!");
JLabel label2 = new JLabel("Click the button to read the instructions!");
JLabel space = new JLabel("");
JButton button1 = new JButton("Start");
button1.setText("Start!");
label1.setFont(font1);
panel1.add(label1); //adds in all the labels to panels
panel1.add(label2);
panel1.add(space);
panel1.add(button1);
this.add(panel1); //adds the panel
它在 欢迎消息 中显示的内容单独一行,但由于某种原因按钮在 label2
旁边有人知道吗?
顺便说一下,如果您还不知道,则需要在开头输入 import javax.swing.*;
。
感谢任何知道的人。
JPanel
默认使用FlowLayout
,这显然不能满足您的需求。您可以改用 GridBagLayout
。
查看 Laying Out Components Within a Container and How to Use GridBagLayout 了解更多详情
类似...
JPanel panel1 = new JPanel();
JLabel label1 = new JLabel("Welcome to the Wall Game!");
JLabel label2 = new JLabel("Click the button to read the instructions!");
JButton button1 = new JButton("Start");
button1.setText("Start!");
Font font1 = label1.getFont().deriveFont(Font.BOLD, 24f);
label1.setFont(font1);
panel1.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridwidth = GridBagConstraints.REMAINDER;
panel1.add(label1, gbc); //adds in all the labels to panels
panel1.add(label2, gbc);
gbc.insets = new Insets(30, 0, 0, 0);
panel1.add(button1, gbc);
举个例子
我正在为我的小游戏添加一个按钮,但我不知道如何换行。我想要一个 space 在按钮和文本之间,代码如下:
JPanel panel1 = new JPanel();
JLabel label1 = new JLabel("Welcome to the Wall Game!");
JLabel label2 = new JLabel("Click the button to read the instructions!");
JLabel space = new JLabel("");
JButton button1 = new JButton("Start");
button1.setText("Start!");
label1.setFont(font1);
panel1.add(label1); //adds in all the labels to panels
panel1.add(label2);
panel1.add(space);
panel1.add(button1);
this.add(panel1); //adds the panel
它在 欢迎消息 中显示的内容单独一行,但由于某种原因按钮在 label2
旁边有人知道吗?
顺便说一下,如果您还不知道,则需要在开头输入 import javax.swing.*;
。
感谢任何知道的人。
JPanel
默认使用FlowLayout
,这显然不能满足您的需求。您可以改用 GridBagLayout
。
查看 Laying Out Components Within a Container and How to Use GridBagLayout 了解更多详情
类似...
JPanel panel1 = new JPanel();
JLabel label1 = new JLabel("Welcome to the Wall Game!");
JLabel label2 = new JLabel("Click the button to read the instructions!");
JButton button1 = new JButton("Start");
button1.setText("Start!");
Font font1 = label1.getFont().deriveFont(Font.BOLD, 24f);
label1.setFont(font1);
panel1.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridwidth = GridBagConstraints.REMAINDER;
panel1.add(label1, gbc); //adds in all the labels to panels
panel1.add(label2, gbc);
gbc.insets = new Insets(30, 0, 0, 0);
panel1.add(button1, gbc);
举个例子