Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Вставить разрыв строки в Java

Автор вопроса: Fahmi JufriОтветов: 4

У меня проблема с переносом строки, я сделал такой код

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", может ли кто-нибудь мне помочь?

  • парень, тебе действительно следовало воспользоваться поиском раньше ... [stackoverflow.com/questions/685521/multiline-text-in-jlabel] [1] [1]: stackoverflow.com/questions/685521/multiline-text-in-jlabel Honza Zidek 20.12.2013
  • В соответствующей заметке избегайте использования системно-зависимых разделителей новой строки и используйте вместо них System.getProperty("line.separator"); Toni Toni Chopper 20.12.2013
  • парень, тебе действительно следовало бы предварительно выполнить поиск: [stackoverflow.com/questions/685521/multiline-text-in-jlabel] [1] [1]: stackoverflow.com/questions/685521/multiline-text-in-jlabel Honza Zidek 20.12.2013

javanewlineswingjlabel

Ответы

Ответ 1 · рейтинг 4 · Elliott Frisch

Для этого вы можете встроить HTML. я хотел бы использовать

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

Ответ 2 · рейтинг 3 · mKorbel

Ответ 3 · рейтинг 1 · gaurav5430

Обведите строку <html></html> и разорвите строки <br>.

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

также см. здесь для расширенного обсуждения

Новая строка в JLabel

Ответ 4 · Adam Short

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

Вам нужно получить разделитель строк, чтобы он работал кросс-платформенным, поскольку \ n не всегда работает. \ r \ n - это правильный способ сделать это, например, в Windows. Просто запишите строку line.separator в переменную и добавляйте ее в любое время, когда она вам понадобится. Вот почему static полезен, поскольку он будет постоянным во всех экземплярах класса.

Чтобы встроить его:

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы