2016-12-29 153 views
1

我想使我的JTextfield不可见和只读,但该值必须显示在窗口框架中。我在Eclipse中使用窗口生成器。如何使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); 
+0

尝试在该[线程]该溶液(http://stackoverflow.com/questions/3081713/how删除边框要么 - 设置文本框不可见 - 框架内) –

+0

@DataPro我可以设置可见和不可见。但是会显示任何价值?值显示可见。例如: - 就像我们在右键单击 - >属性 - >文件位置中看到的一样。 ? –

+0

1)为了更好地提供帮助,请发布[MCVE]或[简短,独立,正确的示例](http://www.sscce.org/)。 2)Java GUI必须在不同的语言环境中使用不同的PLAF来处理不同的操作系统,屏幕大小,屏幕分辨率等。因此,它们不利于像素的完美布局。请使用布局管理器或[它们的组合](http://stackoverflow.com/a/5630271/418556)以及[white space]的布局填充和边框(http://stackoverflow.com/a/17874718/ 418556)。 ..“ –

回答

2

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

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

class Example { 

private JTextField tf; 

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

更改文本字段的颜色并使其与面板或框架的颜色相同。

setBackground(Color.white); 

而且通过重写setBorder方法或通过使“空”,以

setBorder(BorderFactory.createLineBorder(Color.white)); 

or 

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

我可以做到这一点,但我想让它在我的价值visibile,这是没有发生。 –

+0

此代码未显示可见值。它也是无形的。 –

+0

@RohitGhosh,更改文本字段的背景颜色,并使其与Panel或Frame的颜色相同。 –