如何在Java中创建一个如下所示的窗口:
我想要那个窗口布局,而不是标准的Windows边框,我不知道如何调用它。
编辑:外观对我来说不起作用:
答案 0 :(得分:10)
如果你想让你的外观画出窗户装饰(这就是所谓的“边框”),那么你需要在创建{{1}之前调用JFrame.setDefaultLookAndFeelDecorated(true)
在创建JFrame
对象之前,对象和JDialog.setDefaultLookAndFeelDecorated(true)
。
答案 1 :(得分:3)
这就是所谓的外观,你可以在这里找到详细的解释http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
答案 2 :(得分:2)
您需要首先设置外观并使用跨平台的外观(如有人在称之为金属之前评论过)。然后在创建框架之前,您需要请求边框是由外观绘制的。
try
{
UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName());
}
catch (Exception e) { }
这会将外观设置为您想要的外观。由于跨平台的外观和感觉是Sun的JRE中的金属。
// Get window decorations drawn by the look and feel.
JFrame.setDefaultLookAndFeelDecorated(true);
// Create the JFrame.
JFrame frame = new JFrame("A window");
这将使创建的JFrame具有您描述的边界。
答案 3 :(得分:0)
为主要方法中的代码设置窗口外观和感觉。
public static void main(String args []){
试试{
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("windows".equalsIgnoreCase(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception ex) {
System.out.println(e);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
MainFrame mainFrame = new MainFrame();
mainFrame.setExtendedState(MAXIMIZED_BOTH);
mainFrame.setVisible(true);
InitDatabaseDialog initDatabaseDialog = new InitDatabaseDialog(mainFrame, true);
initDatabaseDialog.setVisible(true);
}
});
}
答案 4 :(得分:0)
将此添加到main()方法:
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(testjframe.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(testjframe.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(testjframe.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(testjframe.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}