如何在JLabel中打印出新的句子或行,而不更改打印的最后一行?还是我必须使用其他组件?
答案 0 :(得分:0)
您可以使用getText()来检索JLabel中已存在的内容,然后使用setText()来设置新值。
所以要添加一些内容,你要做
label.setText(label.getText()+“new line”);
答案 1 :(得分: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();
}
});
}}