我已经创建了一个带有Constructor的自定义JDialog,如下所示:
public class SampleMain extends JDialog
public SampleMain (MainFrame mf, String [] args){
super (mf, "Choose a Folder" ,true );
/*Here I Create the View*/
}
JDialog有一个带有Action Listener的按钮:
class EnterListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
/*Some Logic Here*/
setVisible(false);
dispose();
}
}
我从另一个JFrame调用此Dialog:
public class MainFrame extends JFrame
调用扩展JDialog的JButton Listener:
class TreePathListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String [] list = {tfUsr.getText() ,tfPas.getText() ,tfRepo.getText()};
SampleMain sm = new SampleMain (MainFrame.this ,list );
txtPath.setText(sm.getSelectedPath());
}
}
现在问题: 在我单击View之前,扩展的JDialog JFrame看起来像这样:
后:
任何想法如何解决这个问题?
感谢。
这是一个示例项目:任何人都可以将其用作miglyout的自定义JDialog示例。
https://mega.co.nz/#!1EgQBTZQ!e299pFTNAK7OYA2lQA4Wg1crlozsVrdUIg1RiRcvgnI
编辑:
我在原始项目中发现了问题,我在扩展对话框类中使用了此代码。
static {
try {
String className = UIManager.getSystemLookAndFeelClassName();
UIManager.setLookAndFeel(className);
} catch (Exception ignore) {
}
}
删除修复问题。