快速提问,您是否可以创建一个看起来像JLabel
但仍可以编辑的文本字段?您仍然可以更改其大小和字体,但背景+边框应该消失。截至目前,我正试图用Swing做到这一点。 你仍会看到的是小闪烁的光标等待你按下曾经聚焦的东西。
答案 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非常正确地说,"任何事情都是可能的,更不用说是明智的" 。
干杯。