JFilechooser“Look In”下拉列表不会出现在Frame GlassPane上

时间:2012-05-05 17:01:17

标签: java swing drop-down-menu jfilechooser glasspane

所以我在我的swing应用程序中遇到了JFilechooser的一些问题,我的故障排除并没有让我到处都是。

我能够将文件选择器嵌入到我的应用程序内的面板中。

问题是在Windows上选择其他目录和位置的下拉按钮未启用,“文件类型”下拉列表也是如此。

Clicking on either of the drop down buttons does nothing

感谢您的时间!

编辑1:所以我已经完成了额外的测试,似乎在JFrame GlassPane上放置一个filechooser导致Drop down没有出现,可能是因为它在glassPane或Filebrowser“后面”...不确定如何希望这有助于缩小解决方案范围。

EDIT2: 这是一些重现错误的UI代码:

  public void gui(){

    JFrame frame = new JFrame("Test");

    frame.setSize(800, 800);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationRelativeTo(null);

    //Containment Panel
    RightBottomCenter = new JPanel();


     //Setup Glass Pane
    JPanel glass = (JPanel) frame.getGlassPane();
    glass.setVisible(true);

    //Config Filechooser
    fc = new JFileChooser();
    fc.setDragEnabled(false);
    fc.setDialogType(JFileChooser.OPEN_DIALOG);
    fc.setMultiSelectionEnabled(false);
    fc.setAcceptAllFileFilterUsed(false);
    fc.setApproveButtonText("Select");
    fc.setPreferredSize(new Dimension(frame.getWidth(), frame.getHeight() - 100));


    RightBottomCenter.add(fc);
    glass.add(RightBottomCenter);
    frame.setVisible(true);


}

仍然在修补,但尚未找到一个好的解决方案。

1 个答案:

答案 0 :(得分:1)

The Glass Pane教程包含一个GlassPaneDemo,其中显示了如何鼠标事件转发到底层组件。您可以调整there显示的方法。