【问题标题】:How to make JTextField (Eclipse Window Builder) read only如何使 JTextField (Eclipse Window Builder) 只读
【发布时间】:2017-05-13 15:30:54
【问题描述】:

我想让我的JTextfield 不可见且只读,但该值必须显示在窗口框架中。我在 Eclipse 中使用窗口构建器。

JLabel lblLabel1 = new JLabel("Default DITA-OT File :");
lblLabel1.setBounds(10, 79, 123, 14);
frmPdfPublisher.getContentPane().add(lblLabel1);

JSeparator separator = new JSeparator();
separator.setBounds(10, 140, 414, 2);
frmPdfPublisher.getContentPane().add(separator);

JSeparator separator_1 = new JSeparator();
separator_1.setBounds(10, 257, 414, 2);
frmPdfPublisher.getContentPane().add(separator_1);

textField_1 = new JTextField();
textField_1.setBounds(138, 76, 286, 20);
frmPdfPublisher.getContentPane().add(textField_1);
textField_1.setColumns(10);
textField_1.setVisible(false);

【问题讨论】:

  • thread尝试这个解决方案
  • @DataPro 我可以设置可见和不可见。但这会显示任何价值吗?显示的值是可见的。例如:- 就像我们在右键单击-> 属性-> 文件位置上看到的那样。 ?
  • 1) 为了尽快获得更好的帮助,请发帖 minimal reproducible exampleShort, Self Contained, Correct Example。 2) Java GUI 必须在不同的语言环境中使用不同的 PLAF 在不同的操作系统、屏幕尺寸、屏幕分辨率等上工作。因此,它们不利于像素完美布局。而是使用布局管理器,或combinations of them 以及white space 的布局填充和边框。 ..
  • .. 3) ".. 值应该在 Eclipse 中可见" 什么?该值应该对用户不可见,但在您的 IDE 中可见?问题的文本表明您希望用户在一个窗口中键入,但该值在另一个窗口中可见。请edit这个问题并澄清实际需要什么。
  • @AndrewThompson 完成谢谢

标签: java eclipse swing windowbuilder


【解决方案1】:

如果你想让它只读而不是JLable 是做这项工作的更好选择。

但是,如果您想使用 JTextfield 而不是将文本字段设置为私有成员并使用方法将文本字段隐藏。

class Example {

private JTextField tf;

public void hideTextField(){
    tf.setVisible(false);
} }

更改Textfield的颜色,使其与Panel或frame的颜色相同。

setBackground(Color.white);

并通过覆盖 setBorder 方法或通过将“null”传递给

来删除边框
setBorder(BorderFactory.createLineBorder(Color.white));

or

txt.setBorder(new LineBorder(Color.white,0));

【讨论】:

  • 我可以做到,但我想让我的价值在其中可见,这不会发生。
  • 此代码未显示值 visible 。它也是隐形的。
  • @RohitGhosh ,更改文本字段的背景颜色,使其与面板或框架的颜色相同。
  • 简单去掉边框。
  • 我的答案有所更改,请检查。
猜你喜欢
  • 1970-01-01
  • 2012-10-20
  • 2014-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多