萌新关于java JFrame的一些问题?

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Scanner;

public class number1 extends JFrame {
	static int n = 10;
	Scanner in = new Scanner(System.in);
	String num1 = "123456";
	String num2 = "123456";
	static JFrame frame = new JFrame();
	static JButton buttonname1 = new JButton("取消");
	static JButton nextpage = new JButton("下一页");
	JTextField textname3 = new JTextField("存在错误");

	public static void main(String[] asd) {

		number1 num = new number1();
		num.init();
	}

	public void init() {
		Font f = new Font("华文行楷", Font.BOLD, 20);// 设置按钮字体
//创建图形界面

		frame.setTitle("ARK: Survival Evolved");
		frame.setSize(600, 600);
		frame.setLocation(250, 300);
		frame.setResizable(true);
		FlowLayout l1 = new FlowLayout(FlowLayout.LEFT, 35, 15);
		frame.setLayout(l1);
		frame.setDefaultCloseOperation(3);
		ImageIcon icon = new ImageIcon("D:\\方舟\\显示.jpg");
		JLabel ll = new JLabel(icon);
		frame.add(ll);
//设置显示“账号”
		JLabel name = new JLabel("账号:");
		frame.add(name);
//设置输入账号区域,以及判断正确性		
		JTextField textname = new JTextField("输入账号");
		textname.setPreferredSize(new Dimension(450, 30));
		frame.add(textname);

//设置显示“密码”并判断正确与否
		JLabel password = new JLabel("密码:");
		frame.add(password);
		JTextField textname2 = new JTextField("输入密码");

		textname2.setPreferredSize(new Dimension(450, 30));
		frame.add(textname2);

//设置显示登录按钮,取消按钮及其方法
		buttonname1.setBackground(Color.yellow);
		JButton buttonname = new JButton("登录");
		buttonname.setFont(f);
		buttonname.setBackground(Color.BLUE);
		frame.add(buttonname);
		try {
			boolean temp = true;
			while (temp) {
				if ((textname.getText().equals(num1) && textname2.getText().equals(num2))
						|| (textname.getText().equals("") && textname2.getText().equals(""))) {

					nextpage(buttonname);// 进入下一个界面
					temp = false;
				} else {
					frame.add(textname3);
				}
				取消方法();

				frame.setVisible(true);
			}
		} catch (Exception e) {
		}
	}

//设置进入下一个窗口的方法
	public static void nextpage(JButton button) {

		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				new Frame2();
				frame.setAlwaysOnTop(false);
			}
		});
	}

//设置当点击取消按钮时的退出程序
	public static void 取消方法() {
		frame.add(buttonname1);

		buttonname1.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				System.exit(0);

			}
		});

	}

}

//下一页按钮缩进入的页面,采用了循环的方法
class Frame2 extends number1 {
	static int i = 2;

	public Frame2(){
		try {
			Thread.sleep(100);
		} catch (InterruptedException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		JFrame frame1 = new JFrame();
		frame1.setSize(600, 600);
		frame1.setLocation(250, 300);
		frame1.setResizable(true);
		FlowLayout l1 = new FlowLayout(FlowLayout.RIGHT, 35, 15);
		frame1.setLayout(l1);
		frame1.setDefaultCloseOperation(3);
		String num = "D:\\方舟\\显示" + i + ".jpg";
		ImageIcon icon = new ImageIcon(num);
		JLabel ll = new JLabel(icon);
		frame1.add(ll);
		frame1.add(nextpage);
		JTextField textname5 = new JTextField("");

		textname5.setPreferredSize(new Dimension(450, 30));
		frame1.add(textname5);
		frame1.setVisible(true);
		nextpage.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (i <= n) {
					i++;
					System.out.println(i);
					new Frame2();
					
				} else {
					System.exit(0);
				}
			}
		});
		
	}

}

想问问大佬们,为什么我这个程序运行的时候跳的很快,有时候图片直接不显示,直接跳到下一张去了

不是很懂你的意思,你能说清楚一点吗?你写在 while 里面,差点把我的电脑给跑崩了

你这个做法思路有问题,如果是想做自动登录的话应该把登录成功的用户名和密码保存起来,下次登录的时候再取出来判断,要用到IO流操作,结合使用。

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632