我想让我的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 :(得分:2)
如果你想让它只读JLable
是做这项工作的更好选择。
但是,如果您想使用JTextfield
而不是将文本字段作为私有成员,并使用方法将文本字段隐藏起来。
class Example {
private JTextField tf;
public void hideTextField(){
tf.setVisible(false);
} }
更改文本字段的颜色并使其与Panel或框架的颜色相同。
setBackground(Color.white);
并删除边框通过重写setBorder方法或通过传递" null"到
setBorder(BorderFactory.createLineBorder(Color.white));
or
txt.setBorder(new LineBorder(Color.white,0));