[英]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.