繁体   English   中英

在JLabel中打印句子

[英]Printing out sentences in JLabel

如何在JLabel中打印出新句子或新行而又不更改最后打印的行? 还是我必须使用其他组件?

您可以使用getText()检索JLabel中已经存在的内容,然后使用setText()设置新值。

所以要添加一些内容,您可以

label.setText(label.getText()+“换行”);

您可以使用以下代码来获取所需的输出。

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();
        }
    });
}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM