2015-08-07 4 views
0

Как распечатать новое предложение или строку в JLabel без изменения последней строки, которая была напечатана? или мне нужно использовать другой компонент?Распечатка предложений в JLabel

+0

использование SetText (GetText() + ток текст) – Raghavendra

+0

JTextArea больше подходит для многострочного текста. Тем не менее, вам нужно получить контент, отображаемый в данный момент компонентом (getText()), объединиться с новым контентом и установить отображаемое значение (setText()). –

ответ

0

Вы можете использовать getText() для получения того, что уже присутствует в JLabel, а затем setText() для установки нового значения.

Так, чтобы добавить что-то до конца, вы могли бы сделать

label.setText (label.getText() + "новая строка");

0

Вы можете использовать нижеследующий код, чтобы получить желаемый результат.

public class CreateJLabelWithBorder extends JFrame implements ActionListener { 
JTextField textField; 
JLabel label; 

public CreateJLabelWithBorder() { 
    this.getContentPane().setLayout(new FlowLayout()); 
    textField = new JTextField(20); 
    add(textField); 
    textField.addActionListener(this); 
    label = new JLabel("Hello world"); 
    add(label); 
} 

@Override 
public void actionPerformed(ActionEvent e) { 
    if (!textField.getText().isEmpty()) { 
     if (label.getText() != null) { 
      String text = textField.getText() + "<br>" + label.getText(); 
      label.setText("<html> <body>" + text + "</body></html>" + "<br>"); 
      textField.setText(""); 
     } else { 
      String text = textField.getText(); 
      label.setText("<html> <body>" + text + "</body></html>" + "<br>"); 
      textField.setText(""); 
     } 
    } 

} 

private static void createAndShowGUI() { 
    JFrame frame = new CreateJLabelWithBorder(); 
    // frame.pack(); 
    frame.setSize(500, 700); 
    frame.setVisible(true); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

} 

public static void main(String[] args) { 

    javax.swing.SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      createAndShowGUI(); 
     } 
    }); 
}} 
Смежные вопросы