JFormattedTextField 在设计视图中消失
JFormattedTextField disappear in Design View
所以我正在处理 JFrame,并创建了一些 JFormattedTextFields。一开始,每次我在设计视图和 "Source" 之间切换时,组件都停留在设计视图中。但是突然间,每次我切换到设计模式时,文本字段都会消失,但是当我执行程序时,它们会显示出来。可能是什么原因造成的?
这是我添加文本字段的面板:
private JPanel getPanel_2() {
if (panelFishData == null) {
panelFishData = new JPanel();
panelFishData.setBounds(161, 23, 253, 264);
panelFishData.setLayout(new GridLayout(4, 2, 0, 0));
panelFishData.add(getLblName());
panelFishData.add(getFormatedTextFieldNameFish());
panelFishData.add(getLblMinWeight());
panelFishData.add(getFormattedTextFieldMinWeight());
panelFishData.add(getLblMaxWeight());
panelFishData.add(getFormattedTextFieldMaxWeight());
panelFishData.add(getLblstOccurence());
panelFishData.add(getFormattedTextFieldFirstOccurence());
}
return panelFishData;
}
这是我的 JFormattedTextFields 之一:
private JFormattedTextField getFormattedTextFieldMinWeight() {
MaskFormatter mf = createMinWeightMask();
if (formattedTextFieldMinWeight == null) {
formattedTextFieldMinWeight = new JFormattedTextField(mf);
}
return formattedTextFieldMinWeight;
}
private MaskFormatter createMinWeightMask() {
MaskFormatter mf;
try{
mf = new MaskFormatter("### g");
}
catch(Exception ex){
mf=null;
}
return mf;
}
如果您使用的是 netbeans :
检查您要添加 JFormattedTextFields 的面板的布局,然后转到导航器面板以select您的字段再次启用它。
输入代码:
MaskFormatter mf = createMinWeightMask();
在 if 语句中。应该可以。
所以我正在处理 JFrame,并创建了一些 JFormattedTextFields。一开始,每次我在设计视图和 "Source" 之间切换时,组件都停留在设计视图中。但是突然间,每次我切换到设计模式时,文本字段都会消失,但是当我执行程序时,它们会显示出来。可能是什么原因造成的?
这是我添加文本字段的面板:
private JPanel getPanel_2() {
if (panelFishData == null) {
panelFishData = new JPanel();
panelFishData.setBounds(161, 23, 253, 264);
panelFishData.setLayout(new GridLayout(4, 2, 0, 0));
panelFishData.add(getLblName());
panelFishData.add(getFormatedTextFieldNameFish());
panelFishData.add(getLblMinWeight());
panelFishData.add(getFormattedTextFieldMinWeight());
panelFishData.add(getLblMaxWeight());
panelFishData.add(getFormattedTextFieldMaxWeight());
panelFishData.add(getLblstOccurence());
panelFishData.add(getFormattedTextFieldFirstOccurence());
}
return panelFishData;
}
这是我的 JFormattedTextFields 之一:
private JFormattedTextField getFormattedTextFieldMinWeight() {
MaskFormatter mf = createMinWeightMask();
if (formattedTextFieldMinWeight == null) {
formattedTextFieldMinWeight = new JFormattedTextField(mf);
}
return formattedTextFieldMinWeight;
}
private MaskFormatter createMinWeightMask() {
MaskFormatter mf;
try{
mf = new MaskFormatter("### g");
}
catch(Exception ex){
mf=null;
}
return mf;
}
如果您使用的是 netbeans :
检查您要添加 JFormattedTextFields 的面板的布局,然后转到导航器面板以select您的字段再次启用它。
输入代码:
MaskFormatter mf = createMinWeightMask();
在 if 语句中。应该可以。