在java中插入换行符

时间:2013-12-20 14:49:20

标签: java swing newline jlabel

我遇到换行问题,我已经制作了这样的代码

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class Welcome extends JFrame {
    JMenu menuAdd, menuShow, menuEdit, menuHelp;
    JMenuItem addCar, addRent, addUser, editCar, editCostumer, editUser, showCar, showRent, helpAbout;
    JLabel lblWelcome;
    JMenuBar mb;

public Welcome() {
    setTitle("Car Tooner");
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(400,400);
    setLocationRelativeTo(null);
    setResizable(false);

    menuAdd = new JMenu("Add");
    menuShow = new JMenu("Show");
    menuEdit = new JMenu("Edit");
    menuHelp = new JMenu("Help");

    addCar = new JMenuItem("Car");
    addRent = new JMenuItem("Rent");
    addUser = new JMenuItem("User");
    editCar = new JMenuItem("Car");
    editCostumer = new JMenuItem("Costumer");
    editUser = new JMenuItem("User");
    showCar = new JMenuItem("Car");
    showRent = new JMenuItem("Rent");
    helpAbout = new JMenuItem("About");

    mb = new JMenuBar();

    lblWelcome = new JLabel("Welcome, Admin \nto Car Tooner", SwingConstants.CENTER);

    setJMenuBar(mb);
    mb.add(menuAdd);
    mb.add(menuEdit);
    mb.add(menuShow);
    mb.add(menuHelp);

    menuAdd.add(addCar);
    menuAdd.add(addRent);
    menuAdd.add(addUser);
    menuEdit.add(editCar);
    menuEdit.add(editCostumer);
    menuEdit.add(editUser);
    menuShow.add(showCar);
    menuShow.add(showRent);
    menuHelp.add(helpAbout);


    add(lblWelcome);

}

public static void main(String[] args) {
    Welcome wlc = new Welcome();
    wlc.setVisible(true);
}

}

但是当我运行程序时,无法执行换行符,

lblWelcome = new JLabel("Welcome, Admin \nto Car Tooner", SwingConstants.CENTER);

我想制作这样的文字 “欢迎,管理员(\ n新行)到Car Tooner” 有谁可以帮助我?

4 个答案:

答案 0 :(得分:4)

您可以嵌入HTML来执行此操作。我会用

lblWelcome = new JLabel("<html>Welcome, Admin <br/>to Car Tooner", SwingConstants.CENTER);

答案 1 :(得分:3)

  

我想将这样的文字“欢迎,管理员(\ n新行)”发送给Car   Tooner“任何人都可以帮助我吗?

答案 2 :(得分:1)

<html></html>围绕字符串并用<br>打破这些行。

JLabel l = new JLabel("<html>Welcome admin <br>to car Toner</html>", SwingConstants.CENTER);

另见这里进行扩展讨论

Newline in JLabel

答案 3 :(得分:0)

public static final String NL = System.getProperty("line.separator");  

你需要获得行分隔符,以便它跨平台工作,因为\ n并不总是有效。 \ r \ n是在Windows中执行此操作的正确方法。只需将line.separator写入变量,并在需要时随时添加。这就是静态非常有用的原因,因为它将在类的所有实例中持久存在。

建立它:

lblWelcome = new JLabel("Welcome, Admin" + NL + "to Car Tooner", SwingConstants.CENTER);