【问题标题】:Printing out sentences in JLabel在 JLabel 中打印句子
【发布时间】:2015-10-30 19:37:44
【问题描述】:

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

【问题讨论】:

  • 使用 setText(getText() + 当前文本)
  • JTextArea 更适合多行文本。不过,您需要获取组件当前显示的内容(getText()),与新内容连接并设置要显示的值(setText())。

标签: java components jlabel


【解决方案1】:

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

所以要在最后添加一些东西,你会这样做

label.setText(label.getText()+"换行");

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-07-02
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多