所以我正在研究一个JFrame,并创建了一些JFormattedTextFields。每次我在Desing View和" Source"之间切换时组件保留在设计视图中。但突然间每次切换到设计模式时,Textfield都会消失,但是当我执行程序时,它们会被显示出来。可能是什么原因?
这是我添加Textfields的面板:
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;
}
答案 0 :(得分:0)
如果您使用netbeans:
检查你要添加JFormattedTextFields的面板的布局,然后转到Navigator面板选择你的Field再次启用它。
答案 1 :(得分:0)
输入代码:
MaskFormatter mf = createMinWeightMask();
在if语句中。它应该工作。