当前位置:  开发笔记 > 编程语言 > 正文

使用其他文本中的多行创建JLabel

如何解决《使用其他文本中的多行创建JLabel》经验,为你挑选了1个好方法。

我创建一个程序从一个JTextArea采取文字,把它变成一个JLabel,而是一个JLabel只是一个谎言,我所知道的唯一的方式来增加多条线路到JLabel是使用,你必须将它放在HTML功能文本.我如何创建新行,是否有可能找到新行的JTextArea版本或者它是完全不同的东西?



1> Hovercraft F..:

最简单的解决方案:不要使用JLabel.将文本放入看起来像JLabel 的JTextArea中- 这不是不透明,可聚焦或可编辑的.

例如,

import java.awt.event.ActionEvent;
import javax.swing.*;

@SuppressWarnings("serial")
public class AreaAsLabel extends JPanel {
    private JTextArea textEntry = new JTextArea(5, 20);
    private JTextArea labelLikeDisplay = new JTextArea(5, 20);

    public AreaAsLabel() {
        textEntry.setLineWrap(true);
        textEntry.setWrapStyleWord(true);

        labelLikeDisplay.setLineWrap(true);
        labelLikeDisplay.setWrapStyleWord(true);
        labelLikeDisplay.setEditable(false);
        labelLikeDisplay.setFocusable(false);
        labelLikeDisplay.setOpaque(false);

        add(new JScrollPane(textEntry));
        add(new JButton(new TransferTextAction("Transfer Text")));
        add(labelLikeDisplay);
    }

    class TransferTextAction extends AbstractAction {
        public TransferTextAction(String name) {
            super(name);
            int mnemonic = (int) name.charAt(0);
            putValue(MNEMONIC_KEY, mnemonic);
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            String text = textEntry.getText();
            labelLikeDisplay.setText(text);

            textEntry.selectAll();
            textEntry.requestFocusInWindow();
        }
    }

    private static void createAndShowGui() {
        JFrame frame = new JFrame("AreaAsLabel");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(new AreaAsLabel());
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGui();
            }
        });
    }
}

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有