JAVA usa marcos para implementar las dos ventanas en la imagen. ¿Cómo escribirlo?
La imagen se ve muy borrosa y se puede ver vagamente que se necesita una ventana de inicio de sesión, así que permítanme compartirles la demostración de la ventana de inicio de sesión que practiqué antes.
Primero el renderizado:
Interfaz de inicio de sesión
El código fuente es el siguiente:
AbsoluteLoginFrame.java
clase pública AbsoluteLoginFrame extiende JFrame {
privado estático final int LOGIN_WIDTH = 600;
privado estático final int LOGIN_HEIGHT = 400;
privado estático final largo serialVersionUID = -2381351968820980500L;
public AbsoluteLoginFrame(){
//Establecer el título de la ventana
setTitle("Interfaz de inicio de sesión");
//Establece un panel inicial, llena toda la ventana
JPanel loginPanel = new JPanel();
//Establece el color de fondo
loginPanel.setBackground( nuevo Color(204, 204, 204));//#CCC
loginPanel.setLayout(null);
JPanel centerPanel = nuevo JPanel();
centerPanel.setBackground(Color .WHITE);
centerPanel.setBounds(114, 70, 360, 224);
centerPanel.setLayout(null);
JLabel jLabel = nuevo JLabel ("Nombre de usuario:");
jLabel.setOpaque(true);
jLabel.setBackground(Color.YELLOW);
jLabel.setBounds(60, 60, 54, 20);
JLabel etiqueta = new JLabel("Contraseña:");
label.setOpaque(true);
etiqueta. setBackground(Color.CYAN);
etiqueta.setBounds(60, 90, 54, 20);
JTextField textField = nuevo JTextField(15); p>
textField.setBounds(130, 60, 166, 21);
JPasswordField contraseñaField = new JPasswordField(15);
contraseñaField.setBounds(130, 90, 166 , 21);
JButton jButton = new JButton("Iniciar sesión");
jButton.setBounds(148, 120, 62, 28);
centerPanel .anuncio
d(jLabel);
centerPanel.add(label);
centerPanel.add(textField);
centerPanel.add(jButton);
centerPanel.add(passwordField);
loginPanel.add(centerPanel);
getContentPane().add(loginPanel);//Agregar el panel inicial a la ventana
setSize(LOGIN_WIDTH, LOGIN_HEIGHT);//Establecer el tamaño de la ventana
setLocation(Screen.getCenterPosition(LOGIN_WIDTH, LOGIN_HEIGHT));//Establecer la posición de la ventana
setDefaultCloseOperation(EXIT_ON_CLOSE);//Establecer el método de cierre de ventana predeterminado
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
new AbsoluteLoginFrame();
}
}
Screen.java
pantalla de clase pública {
ancho de int privado;
alto de int privado;
pantalla pública(){ p>
Kit de herramientas kit de herramientas = Toolkit.getDefaultToolkit();
Dimensión screenSize = toolkit.getScreenSize();
this.width = screenSize.width;
this .height = screenSize.height;
}
punto estático público getCenterPosition(int ancho, int alto){
Pantalla pantalla = nueva Pantalla( );
int x = (screen.getWidth() - ancho) / 2;
int y = (screen.getHeight() - alto) / 2;
devolver nuevo punto (x, y);
}
public int getWidth() {
devolver ancho;
} p>
public void setWidth(int ancho) {
this.width = ancho;
}
public int getHeight() {
altura de retorno;
}<
/p>
public void setHeight(int altura) {
this.height = altura;
}
}