【发布时间】:2018-06-29 04:40:56
【问题描述】:
所以,我尝试制作一个 Java 程序,当你运行它时,第一个屏幕将是受欢迎的,在它下面是“登录”按钮,在它下面是“注册”。现在我需要弄清楚如果我按下这些按钮之一,我如何调用新的 GUI,我将在某处定义它。 (例如)我调用注册按钮,它调用新的 gui,当您注册时询问您的正常事情在哪里(登录、电子邮件、通行证、出生日期)
编辑:问题已解决,但还有一件事。如何关闭第一个窗口?
这是我目前的代码:
import javax.swing.*;
import java.awt.*;
import java.awt.GridLayout;
import java.awt.BorderLayout;
import javax.swing.BorderFactory;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.util.*;
import javax.swing.JFrame;
import java.awt.Dimension;
public class Gui extends JFrame
{
private JLabel lab1,lab2;
private JButton butt1,butt2;
private JPanel p1,p2;
public static void main(String[] args)
{
Gui okno = new Gui();
//vytáhne z defaultního monitoru width a height
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int width = (int) screenSize.getWidth();
int height = (int) screenSize.getHeight();
//velikost okna
Dimension appSize = new Dimension(210,250);
okno.setPreferredSize(appSize);
//nastavení na stred
okno.setLocation((width/2)-105,(height/2)-125);
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
okno.setVisible(true);
//okno.setLocationRelativeTo(null); todle dá do středu obrazovky jen první body x a y od kterejch se to odvíjí
okno.setResizable(false);
okno.pack();
}
public Gui(){
super("Jméno hry vole");
setLayout(new BorderLayout(20,20));
/////////////////////////////////////////////////////////////////
// p1
p1 = new JPanel();
add(p1,BorderLayout.NORTH);
lab1 = new JLabel("Welcome",SwingConstants.CENTER); //centr labelu
lab2 = new JLabel("Created by DECHKR",SwingConstants.CENTER); //centr labelu
lab1.setFont(new Font("Serif", Font.PLAIN, 36)); //velikost fontu
p1.add(lab1);
//p2
p2 = new JPanel(new GridLayout(2,1,0,5));
add(p2,BorderLayout.SOUTH);
Dimension d = new Dimension(210,75);
butt1 = new JButton("Login");
butt1.setPreferredSize(d);
butt2 = new JButton("Register");
butt2.setPreferredSize(d);
p2.add(butt1);
p2.add(butt2);
butt1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
//Gui okno = new Gui();
//System.exit(0); endne celej jvm proces
}
});
butt2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
}
});
}
【问题讨论】:
-
我们真的需要因为你没有search first而一次又一次地问这个问题吗?
标签: java swing user-interface