Как сделать окно похожим на это в Java?
Как создать окно, которое выглядит так в Java:
Я хочу, чтобы макет окна вместо стандартных границ окон, и я не знаю, как это называется.
Edit: look and feel не работает для меня:
5 ответов
если вы хотите, чтобы ваш взгляд и чувство, чтобы нарисовать оформление окна (это то, что называется" граница"), то вам нужно позвонить JFrame.setDefaultLookAndFeelDecorated(true)
до создавая свои JFrame
объекты и JDialog.setDefaultLookAndFeelDecorated(true)
до создавая свои JDialog
объекты.
Это называется взгляд и чувство, вы можете найти подробное объяснение здесь http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
вам нужно будет сначала установить внешний вид, чтобы использовать кросс-платформенный внешний вид (как кто-то прокомментировал, прежде чем он называется металлом). Затем, прежде чем создать рамку, вам нужно запросить, чтобы границы были нарисованы внешним видом.
try
{
UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName());
}
catch (Exception e) { }
это установит внешний вид на тот, который вы хотите. Поскольку кросс-платформа выглядит и чувствует себя металлом в Sun's JRE.
// Get window decorations drawn by the look and feel.
JFrame.setDefaultLookAndFeelDecorated(true);
// Create the JFrame.
JFrame frame = new JFrame("A window");
и это сделает созданный JFrame иметь границы, как вы описываете.
чтобы установить Windows look and feel для swing, напишите следующий код в main методе.
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);
}
});
}
добавьте в метод 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);
}