📄 signonscreen.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -