在 OS X 上的 Windows 环境中测试程序
Test Program in Windows Environment on OS X
我注意到一些奇怪的行为,这实际上是由于使用 Mac OS X 或 Windows.
时 JFileChooser 布局的差异造成的
在我的 Mac 上 window 看起来像这样:
而在 Windows 上看起来如下所示:
我的问题是:我是否可以在 Mac 上模拟 Windows 外观?因为我没有 Windows 电脑,所以我无法测试任何更改,但总是必须等待其他人来测试它,当然,这很慢,因为它只是参数化的问题。
public DelimiterFileChooser(String[] comboChoices) {
comboBox = new JComboBox<>();
comboBox.setModel(new DefaultComboBoxModel<String>(comboChoices));
JPanel comboPanel = null;
if (os.indexOf("mac") >= 0 || os.indexOf("nix") >= 0 || os.indexOf("nux") >= 0 || os.indexOf("aix") > 0) {
comboPanel = (JPanel) this.getComponent(4);
comboPanel = (JPanel) comboPanel.getComponent(2);
} else {
comboPanel = (JPanel) this.getComponent(3);
comboPanel = (JPanel) comboPanel.getComponent(3);
}
Component c1 = comboPanel.getComponent(0);
Component c2 = comboPanel.getComponent(1);
comboPanel.removeAll();
comboPanel.add(getPanel(new JLabel("Use delimiter for .csv:"), comboBox));
comboPanel.add(c1);
comboPanel.add(c2);
}
有兴趣的可以看看我的代码。我在 another Stack Overflow thread 中找到了 Windows 部分,最初想知道为什么它在我的 Mac 上不起作用。既然我知道显然在不同的 OS 系统上构建的对话框是不同的,我就不再怀疑了,但是线程中建议的解决方案对我来说并不奏效。
如果您想在 OS-X 机器上 运行 Windows,请尝试 Virtualbox, VmWare Fusion or Parallels。它使 运行ning(多个)Windows 版本在 Mac 上变得容易。测试软件。
我注意到一些奇怪的行为,这实际上是由于使用 Mac OS X 或 Windows.
时 JFileChooser 布局的差异造成的在我的 Mac 上 window 看起来像这样:
而在 Windows 上看起来如下所示:
我的问题是:我是否可以在 Mac 上模拟 Windows 外观?因为我没有 Windows 电脑,所以我无法测试任何更改,但总是必须等待其他人来测试它,当然,这很慢,因为它只是参数化的问题。
public DelimiterFileChooser(String[] comboChoices) {
comboBox = new JComboBox<>();
comboBox.setModel(new DefaultComboBoxModel<String>(comboChoices));
JPanel comboPanel = null;
if (os.indexOf("mac") >= 0 || os.indexOf("nix") >= 0 || os.indexOf("nux") >= 0 || os.indexOf("aix") > 0) {
comboPanel = (JPanel) this.getComponent(4);
comboPanel = (JPanel) comboPanel.getComponent(2);
} else {
comboPanel = (JPanel) this.getComponent(3);
comboPanel = (JPanel) comboPanel.getComponent(3);
}
Component c1 = comboPanel.getComponent(0);
Component c2 = comboPanel.getComponent(1);
comboPanel.removeAll();
comboPanel.add(getPanel(new JLabel("Use delimiter for .csv:"), comboBox));
comboPanel.add(c1);
comboPanel.add(c2);
}
有兴趣的可以看看我的代码。我在 another Stack Overflow thread 中找到了 Windows 部分,最初想知道为什么它在我的 Mac 上不起作用。既然我知道显然在不同的 OS 系统上构建的对话框是不同的,我就不再怀疑了,但是线程中建议的解决方案对我来说并不奏效。
如果您想在 OS-X 机器上 运行 Windows,请尝试 Virtualbox, VmWare Fusion or Parallels。它使 运行ning(多个)Windows 版本在 Mac 上变得容易。测试软件。