你能做一个可编辑的标签吗?
Can you make an editable label?
小问题,你能做一个看起来像 JLabel
但仍然可以编辑的文本字段吗?您仍然可以更改其大小和字体,但背景 + 边框应该消失。截至目前,我正在尝试使用 Swing 来做到这一点。 您仍然会看到闪烁的小光标,它会一直等到您按下某个焦点后才停止。
除此之外,这只会让用户感到困惑,您可以使用一个简单的
textField.setBackground(null);
textField.setBorder(null);
您可以尝试使用无边框且背景颜色与框架相同的 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);
是的,你可以做到:D 一切皆有可能。所以我能想到的方法(虽然我还没有尝试过)是通过用背景修补文本字段的背景并将边框设置为空,或者通过创建自定义 JtextField 实现并覆盖这些方法,或者通过努力来实现方式并覆盖 Jlabel class 以添加更改文本的功能,但这比其他两种推荐方式更难。
无法创建可编辑的标签因为它存在。您可以使用没有边框且背景与 JFrame 相同的 jTextField。
话虽如此,您 可以 添加一个 KeyListener
到您的 JLabel
并根据按下的键更新标签的文本。类似地,您可以使用 |
和一个单独的线程来实现插入符号,使其闪烁。但正如 Andrew Thompson 非常正确地说的那样,"Anything is possible, much less is sensible".
干杯。
小问题,你能做一个看起来像 JLabel
但仍然可以编辑的文本字段吗?您仍然可以更改其大小和字体,但背景 + 边框应该消失。截至目前,我正在尝试使用 Swing 来做到这一点。 您仍然会看到闪烁的小光标,它会一直等到您按下某个焦点后才停止。
除此之外,这只会让用户感到困惑,您可以使用一个简单的
textField.setBackground(null);
textField.setBorder(null);
您可以尝试使用无边框且背景颜色与框架相同的 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);
是的,你可以做到:D 一切皆有可能。所以我能想到的方法(虽然我还没有尝试过)是通过用背景修补文本字段的背景并将边框设置为空,或者通过创建自定义 JtextField 实现并覆盖这些方法,或者通过努力来实现方式并覆盖 Jlabel class 以添加更改文本的功能,但这比其他两种推荐方式更难。
无法创建可编辑的标签因为它存在。您可以使用没有边框且背景与 JFrame 相同的 jTextField。
话虽如此,您 可以 添加一个 KeyListener
到您的 JLabel
并根据按下的键更新标签的文本。类似地,您可以使用 |
和一个单独的线程来实现插入符号,使其闪烁。但正如 Andrew Thompson 非常正确地说的那样,"Anything is possible, much less is sensible".
干杯。