你能制作一个可编辑的标签吗?

时间:2015-06-19 14:31:38

标签: java swing jlabel

快速提问,您是否可以创建一个看起来像JLabel但仍可以编辑的文本字段?您仍然可以更改其大小和字体,但背景+边框应该消失。截至目前,我正试图用Swing做到这一点。 你仍会看到的是小闪烁的光标等待你按下曾经聚焦的东西。

4 个答案:

答案 0 :(得分:4)

您可以尝试使用没有边框且背景颜色与框架相同的JTextField

JFrame frame = new JFrame();

frame.setLayout(new FlowLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);

JTextField textField = new JTextField("some text");
textField.setBorder(BorderFactory.createEmptyBorder());
textField.setBackground(frame.getBackground());

frame.getContentPane().add(textField);

frame.setVisible(true);

答案 1 :(得分:3)

除了这个只会让用户感到困惑的事实之外,你可以使用一个简单的

{{1}}

答案 2 :(得分:0)

是的,你可以做到:D一切皆有可能。因此,我可以思考的方式(虽然我没有尝试过)可以通过修改文本字段的背景和背景并将边框设置为null,或者通过创建自定义JtextField实现并覆盖这些方法,或者通过努力实现方式和覆盖Jlabel类来放置更改文本的功能,但这比其他两种推荐的方法更难。

答案 3 :(得分:0)

无法制作可编辑的标签,因为它存在。您可以使用没有边框和相同背景的jTextField作为JFrame。

话虽如此,您可以KeyListener添加JLabel,并根据所按的键更新您的标签文字。同样,您可以使用|和单独的线程实现插入符号以使其闪烁。但正如Andrew Thompson非常正确地说,"任何事情都是可能的,更不用说是明智的"

干杯。