【发布时间】:2012-12-26 18:02:19
【问题描述】:
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Sample {
public static String audioName;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
final JFrame frame = new JFrame();
frame.setTitle("Frame");
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
device.setFullScreenWindow(frame);
device.setDisplayMode(new DisplayMode(800, 600, 32, 60));
frame.setVisible(true);
JButton btn = new JButton();
btn.setText("Button");
JPanel panel = new JPanel();
panel.add(btn);
frame.add(panel);
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
int returnName = chooser.showOpenDialog(frame);
if (returnName == JFileChooser.APPROVE_OPTION) {
System.out.println("Sample");
}
}
});
}
}
如何在全屏中显示 JFileChooser?我不熟悉 JInternalFrame/JDesktopPane,你认为这会解决这个问题还是有其他方法可以解决这个问题?
【问题讨论】:
-
如果 Java 应用程序更改了我的 Windows 显示设置,我将永远不会再使用该应用程序。
-
@GilbertLeBlanc,java 仅在运行应用程序时临时更改它。
-
@GilbertLeBlanc 可能已经注意到了同样的效果,这让我对这段代码非常恼火。每次我运行它时,它都会强制将 2 个 WinAmp 屏幕从我通常所在的屏幕最右侧移到新屏幕尺寸的约束中。这让我意识到,全屏模式似乎每一步都在吸引你。这个应用程序有什么如此重要。它应该是“全屏”吗?
-
@Andrew Thompson:我对全屏 Java 应用程序没有意见。我确实对有人更改我的显示设置有疑问。在进一步审查中,如果我的组织中的任何人编写了一个更改我的显示分辨率的 Java 应用程序,我会去打他们的废话,直到我被保安枪杀或被扔出大楼。
-
“我对全屏 Java 应用程序没有意见。” OP 是。看看他们的问题历史。
标签: java swing jframe fullscreen jfilechooser