signonscreen.java

来自「java图形化界面编程 功能和记事本通讯录相似 记录通讯人的姓名和联系方法等」· Java 代码 · 共 100 行

JAVA
100
字号
package elegate.cn.edu.nju;

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

/**
 * a sign-on screen
 * @author Elegate,elegate@gmail.com
 * @author cs department of NJU
 */
public class SignonScreen extends JPanel
{
	public static void main(String[] args)
	{
		SignonScreen screen=new SignonScreen();
		JFrame frame=new JFrame();
		frame.setUndecorated(true);
		frame.getContentPane().add(screen);
		frame.setSize(screen.getSize());
		Dimension d=Toolkit.getDefaultToolkit().getScreenSize();
		Dimension size=frame.getSize();
		frame.setLocation((int)(d.width-size.width)/2
				,(int)(d.height-size.height)/2);
		frame.setVisible(true);
		SignonThread thread=new SignonThread();
		try
		{
			thread.join();
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		frame.setVisible(false);
		frame.dispose();
	}
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private ImageIcon icon;
	private SignonScreen()
	{
		File file=new File("config"+File.separator+"icon"+File.separator);
		File[] icons=file.listFiles(new JpgFileNameFilter());
		icon=new ImageIcon(icons[(int)(Math.random()*icons.length)].getAbsolutePath());
		this.setSize(icon.getIconWidth(),icon.getIconHeight());
		icons=null;
	}

	public void paintComponent(Graphics g)
	{
		icon.paintIcon(this,g,0,0);
	}
	
}


class JpgFileNameFilter implements FilenameFilter
{

	public boolean accept(File dir, String name)
	{
		int index=name.lastIndexOf('.');
		String suffix=name.substring(index+1).toLowerCase();
		if(suffix.equals("jpg")||suffix.equals("jpeg"))
		{
			return true;
		}
		return false;
	}
	
}
/**
 * thread to start the main program
 * @author Elegate,elegate@gmail.com
 * @author cs department of NJU
 */
class SignonThread extends Thread
{
	public SignonThread()
	{
		this.start();
	}
	public void run()
	{
		AddressBookManager book=new AddressBookManager();
		try
		{
			Thread.sleep(1000);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		book.setVisible(true);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?