有沒有辦法在不丟失邊界的情況下禁用JTextField?基本上我有幾個文本字段,其中一些是啓用,一些是禁用的。然而,殘疾人沒有邊界。我希望所有文本字段看起來都一樣,無論它們是啓用還是禁用。有沒有辦法如何做到這一點?禁用JTextField的邊界
感謝您的任何答案
有沒有辦法在不丟失邊界的情況下禁用JTextField?基本上我有幾個文本字段,其中一些是啓用,一些是禁用的。然而,殘疾人沒有邊界。我希望所有文本字段看起來都一樣,無論它們是啓用還是禁用。有沒有辦法如何做到這一點?禁用JTextField的邊界
感謝您的任何答案
你可以嘗試JTextField text = new JTextField; text.setVisible(false);
我不知道這會工作,但努力並沒有做任何事情失去了。
在這個程序,你可以找到解決辦法
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DressingUpComponents
{
JTextField disabled,
normal;
JLabel label;
public DressingUpComponents()
{
configureDisabledTextField();
normal = new JTextField("hello world");
configureLabel();
}
private void configureDisabledTextField()
{
disabled = new JTextField("hello world");
disabled.setEnabled(false);
Color bgColor = UIManager.getColor("TextField.background");
disabled.setBackground(bgColor);
Color fgColor = UIManager.getColor("TextField.foreground");
disabled.setDisabledTextColor(fgColor);
disabled.setBorder(BorderFactory.createEtchedBorder());
}
private void configureLabel()
{
label = new JLabel("hello world");
label.setBorder(BorderFactory.createEtchedBorder());
label.setOpaque(true); // required for background colors
label.setBackground(UIManager.getColor("TextField.background"));
label.setFont(UIManager.getFont("TextField.font"));
}
public static void main(String[] args)
{
DressingUpComponents dup = new DressingUpComponents();
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cp = f.getContentPane();
cp.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.weighty = 1.0; // allow vertical dispersion
gbc.gridwidth = GridBagConstraints.REMAINDER; // single column
cp.add(dup.disabled, gbc);
cp.add(dup.normal, gbc);
cp.add(dup.label, gbc);
f.setSize(200,200);
f.setLocation(200,200);
f.setVisible(true);
}
}
你使用任何特殊的外觀和感覺,因爲默認'JTextField'不會禁用該控件時消失。 –