Как сделать многострочную (или новую строку) JLabel в JForm - PullRequest
0 голосов
/ 24 декабря 2018

Я делаю программу доставки этикеток, где введенный адрес предварительно просматривается на JLabel.Проблема в том, что JLabel не поддерживает многострочный текст.Как сделать его многострочным?

Я пробовал метод HTML, но он не работал.

В любом случае я работаю над Netbeans 8.0.2

private void buttonexitActionPerformed(java.awt.event.ActionEvent evt) {                                           
    int result = JOptionPane.showConfirmDialog(null, "Exit now?", "You're about to exit", JOptionPane.YES_NO_OPTION);
    if(result == JOptionPane.YES_OPTION){
        System.exit(0);
    }
    else if(result == JOptionPane.NO_OPTION) {
        this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);
    }
}                                                                                    

private void buttonpreviewActionPerformed(java.awt.event.ActionEvent evt) {                                              
    pname.setFont(new java.awt.Font("Times New Roman", 0, 12));
    pname.setForeground(Color.BLACK);
    pname.setText(String.valueOf(inputname.getText()));

    pnumber.setFont(new java.awt.Font("Times New Roman", 0, 12));
    pnumber.setForeground(Color.BLACK);
    pnumber.setText(String.valueOf(inputnumber.getText()));

    paddress.setFont(new java.awt.Font("Times New Roman", 0, 12));
    paddress.setForeground(Color.BLACK);
    padress.setText(String.valueOf(inputaddress.getText()));



    pcourier.setFont(new java.awt.Font("Times New Roman", 1, 12));
    pcourier.setForeground(Color.BLACK);
  pcourier.setText(String.valueOf(cbcourier.getModel().getSelectedItem()));
}                                             

private void buttonclearActionPerformed(java.awt.event.ActionEvent evt) {                                            
    inputname.setText("");
    inputnumber.setText("");
    inputaddress.setText("");
    cbcourier.setSelectedIndex(0);
}                                           

private void buttonprintActionPerformed(java.awt.event.ActionEvent evt) {                                            
    Toolkit tk = panelpreview.getToolkit();
    PrintJob pj = tk.getPrintJob(this, null, null);
    Graphics g = pj.getGraphics();
    panelpreview.print(g);
    g.dispose();
    pj.end();

Я хочу, чтобы "paddress" (JLabel) мог показывать текст так же, как я вводил в "inputadress" (JTextField).Любое предложение?

1 Ответ

0 голосов
/ 27 декабря 2018

Я нашел ответ, используя HTML, замените / n на.

 padress.setText("<html>" + String.valueOf(inputaddress.getText().replaceAll("<","&lt;").replaceAll(">", "&gt;").replaceAll("\n", "<br/>")) + "</html>");

Источник: Источник

...