【问题标题】:JFileChooser dialog , messed upJFileChooser 对话框,搞砸了
【发布时间】:2016-01-20 09:05:04
【问题描述】:

JFileChooser 对话框,在第二个 JFrame 打开后搞砸了。 我把照片发给你。

这里是 JFileChooser ,在打开文件按钮后打开

看起来很完美吧??现在我按下选项按钮

    private void openFileBtn2ActionPerformed(java.awt.event.ActionEvent evt) {                                             

Params ax=new Params();

ax.createGUI();

ax.setPreferredSize(new Dimension(560,450));
ax.setVisible(true);
ax.pack();
ax.setExtendedState(java.awt.Frame.NORMAL);
    } 

JFrame ,我的意思是 params 类实例完美打开。这应该将一些值返回到主窗口。但是为了调试它,我删除了所有引用。 现在我再次打开 JFileChooser 并收回这个烂摊子。

很奇怪吧??抱歉没贴代码,代码太大了。我选择让你问你需要的代码。希望对你更方便。

【问题讨论】:

  • 看起来像老式的 GTK 风格的文件选择器。您的任何其他窗口是否会改变外观?
  • 确实,我在第二个窗口中有不同的外观声明。这就是我现在正在查看的内容。
  • 告诉我你是如何改变外观的。因为 AFAIK,你不能改变每个窗口,只能改变整个程序!

标签: java swing jframe jfilechooser


【解决方案1】:

我在第二个窗口中使用了不同的外观。 我改变了它,似乎工作正常。 那是在immibis帮助之后。非常感谢immibis。

现在我用

try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Reader.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Reader.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Reader.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Reader.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }

在我打开的主窗口和第二个窗口中。 已修复!!

【讨论】:

  • 你应该设置一次外观和感觉,而不是在程序运行时再次修改它
  • 我完全是菜鸟。当我制作不同的窗口(示例框架)时,我在打开的每个窗口(或实例)中都使用 try{look and feel}。这是一个错误吗?
  • “当我制作不同的窗口(示例框架)” 请参阅The Use of Multiple JFrames, Good/Bad Practice? “我在每个窗口(或实例)中使用 try{look and feel}打开。这是一个错误吗?” 肯定的。在添加创建组件之前将 PLAF 设置在 main 中。此后的所有组件都将使用该 PLAF - 因此看起来是一致的。
  • 那就不要调用那个类的主方法
猜你喜欢
  • 2013-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多