有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JLabel设置为文本列表项

我有一个包含String的列表,我试图将其项设置为JLabel文本,唯一的问题是结果是一行

JButton btnSearch = new JButton("Search");
btnSearch.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseClicked(MouseEvent arg0) {
        String fileName = textField.getText();
        StringBuilder result = new StringBuilder();
        List <String> searchResult = new Search().cautaFisiere("C:\\AdwCleaner", fileName);

        for (int x = 0; x < searchResult.size(); x++) {
            result.append(searchResult.get(x)).append("\n");

        }
        lblNewLabel.setText(result.toString());
    }

});

正如你们所看到的,我尝试将项目作为新行添加,但没有结果。我也尝试了append(System.getProperty("line.separator")),但仍然没有结果,文本仍然显示在一行中


共 (1) 个答案

  1. # 1 楼答案

    正如这里提到的Multiline text in JLabel,只需使用HTML标记<br>就可以创建一个新行,但它必须位于<html></html>标记中

    JButton btnSearch = new JButton("Search");
    btnSearch.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
            String fileName = textField.getText();
            StringBuilder result = new StringBuilder();
            List <String> searchResult = new Search().cautaFisiere("C:\\AdwCleaner", fileName);
    
            for (int x = 0; x < searchResult.size(); x++) {
                result.append(searchResult.get(x)).append("<br>");
            }
            lblNewLabel.setText("<html>" + result.toString() + "</html>");
        }
    });