JFrame Swing如何将框架从弹出窗口更改为看起来像windows主题

Chr*_*ald 1 java swing jframe look-and-feel

嘿伙计们,所以我能够设置弹出窗口的默认框架,该窗口是从一个单独的类调用的.你可能会说我是java的极端菜鸟.任何帮助,将不胜感激.

这是调用第二个类来运行的代码.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat;

class Login extends JFrame implements ActionListener
{
 JButton SUBMIT;
 JPanel panel;
 JLabel label1,label2;
 final JTextField  text1,text2;
  Login()
  {
  label1 = new JLabel();
  label1.setText("               Enter Username:");
  label1.setForeground(Color.green);

  text1 = new JTextField(10);

  label2 = new JLabel();
  label2.setText("               Enter Password:");
  label2.setForeground(Color.green);
  text2 = new JPasswordField(10);

  SUBMIT=new JButton("SUBMIT");
  SUBMIT.setOpaque(true);
  SUBMIT.setBackground(Color.BLACK);
  SUBMIT.setForeground(Color.green);

  panel=new JPanel(new GridLayout(4,1));
  panel.add(label1);
  panel.add(text1);
  panel.add(label2);
  panel.add(text2);
  panel.add(SUBMIT);
  add(panel,BorderLayout.CENTER);
  SUBMIT.addActionListener(this);
  setTitle("LOGIN or DIE!!!!!");
  panel.setBackground(Color.black);
  setDefaultLookAndFeelDecorated(true);
  setLocationRelativeTo(null);
  }
 public void actionPerformed(ActionEvent ae)
  {
  String value1=text1.getText();
  String value2=text2.getText();
  if (value1.equals("McDinger") && value2.equals("welcome1")) {
  ExerciseSevenPt2 page=new ExerciseSevenPt2();
  page.setVisible(true);
  JLabel label = new JLabel(" Welcome to The Java Cave, "+value1 + ". " + "Are you Worthy of the Cave?");
  label.setOpaque(true);
  label.setForeground(Color.green);
  label.setBackground(Color.black);
  page.getContentPane().add(label);
  }
  else{
  System.out.println("enter the valid username and password OR ELSE!!!!!");

  UIManager UI=new UIManager();
  UI.put("OptionPane.messageForeground", Color.red);
  UI.put("OptionPane.background", Color.black);
  UI.put("Panel.background", Color.black);

  JOptionPane.showMessageDialog(this,"Incorrect login or password Genius", "Error",JOptionPane.ERROR_MESSAGE);
  setDefaultLookAndFeelDecorated(true);

  }
}
}
 class ExerciseSeven
{
  public static void main(String arg[])
  {
  try
  {
  Login frame=new Login();
  frame.setSize(300,100);
  frame.setVisible(true);
  }
  catch(Exception e)
  {JOptionPane.showMessageDialog(null, e.getMessage());}
  }
}
Run Code Online (Sandbox Code Playgroud)

这是第二类

import javax.swing.*;
import java.awt.*;

class ExerciseSevenPt2 extends JFrame
{   
    ExerciseSevenPt2()
 {      
 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
 setTitle("The Java Cave ");
 setSize(400,70);
 setLocationRelativeTo(null);
 }
}
Run Code Online (Sandbox Code Playgroud)

在执行代码后,这是我的问题.底部窗口是我想要的顶部窗口.

在此输入图像描述

evu*_*uez 6

您必须使用UIManager来"设置窗口的外观和感觉":

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
Run Code Online (Sandbox Code Playgroud)