package VTest3;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.MenuItem;
import java.awt.Point;
import java.awt.PopupMenu;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;

public class testQQ {

	public static void main(String[] args) {
		new testQQ();
	}
	
	
	static JDialog frame=new JDialog();
	JButton button1=new JButton("注册");
	JButton button2=new JButton("登陆");
	JLabel label_=new JLabel("─");
	JLabel labelX=new JLabel(" X");
	JLabel label1=new JLabel("请输入帐号:");
	JLabel label2=new JLabel("请输入密码:");
	JLabel label3=new JLabel("  登录页面");
	JPasswordField jpf=new JPasswordField(15);
	JTextField jtf=new JTextField(15);
	JPanel panel1=new JPanel();
	JPanel panel2=new JPanel();
	JPanel panel3=new JPanel();
	JPanel panel4=new JPanel();
	JPanel panel5=new JPanel();
	JPanel panel6=new JPanel();

	Point point=new Point();
	Dimension Min=new Dimension(0,0);
	Dimension Max=new Dimension(800,500);
	Rectangle rec=new Rectangle();
	Rectangle rec1=new Rectangle();
	JPanel panel=new JPanel(){
		
		@Override
        public void paintComponent(Graphics g) {
            ImageIcon icon =
                    new ImageIcon("11.gif");

            g.drawImage(icon.getImage(), 0, 0,
            		frame.getSize().width,frame.getSize().height,frame);
        }
		
	};
	
	
	public testQQ(){
		
		//设置UI
		try {
			UIManager.setLookAndFeel(new NimbusLookAndFeel());
		} catch (UnsupportedLookAndFeelException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		
		
		//设置字体及颜色以及设置透明
		labelX.setFont(new Font("",Font.BOLD,20));
		labelX.setForeground(Color.red);
		labelX.setOpaque(false);
		label_.setFont(new Font("",Font.ITALIC,18));
		label_.setForeground(Color.red);
		labelX.setPreferredSize(new Dimension(25,18));
		label_.setPreferredSize(new Dimension(18,18));
		
		panel1.setPreferredSize(new Dimension(60,400));
		panel1.add(label_);
		panel1.add(labelX);
		panel1.setOpaque(false);
		
		
		label1.setPreferredSize(new Dimension(100,30));
		jtf.setPreferredSize(new Dimension(100,30));
		Font font = new Font(Font.DIALOG, Font.BOLD, 15);
        label1.setFont(font);
		panel2.add(label1);
		panel2.add(jtf);
		panel2.setOpaque(false);
		
		label2.setPreferredSize(new Dimension(100,30));
		label2.setFont(font);
		jpf.setPreferredSize(new Dimension(100,30));
		panel3.add(label2);
		panel3.add(jpf);
		panel3.setOpaque(false);
		
		panel4.setLayout(new GridLayout(6,1));
		panel4.setOpaque(false);
		JPanel jp=new JPanel();
		label3.setFont(new Font("",Font.BOLD,20));
		jp.add(label3);
		jp.setOpaque(false);
		JLabel a=new JLabel();
		a.setOpaque(false);
		JLabel b=new JLabel();
		b.setOpaque(false);
		
		
		panel4.add(jp);
		panel4.add(a);
		panel4.add(panel2);
		panel4.add(panel3);
		panel4.add(panel5);
		panel4.add(b);

		button1.setPreferredSize(new Dimension(100,30));
		button2.setPreferredSize(new Dimension(100,30));
		button2.setEnabled(false);
		JLabel jl=new JLabel();
		jl.setPreferredSize(new Dimension(50,30));
		panel5.add(button1);
		panel5.add(jl);
		panel5.add(button2);
		panel5.setOpaque(false);

		panel6.setPreferredSize(new Dimension(50,400));
		panel6.setOpaque(false);
		panel.setLayout(new BorderLayout());
		panel.add(BorderLayout.EAST,panel1);
		panel.add(BorderLayout.WEST,panel6);
		panel.add(BorderLayout.CENTER,panel4);
		
		
		
		
	    //各种监听
		frame.addMouseListener(new mouselistener());
		frame.addMouseMotionListener(new movelistener());
		button1.addActionListener(new actionlistener());
		button2.addActionListener(new actionlistener());
	    jtf.addKeyListener(new keyListener());
	    jpf.addKeyListener(new keyListener());
	    jpf.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e) {
				button2.doClick();//当光标在密码框时按enter键实现等同按登录按钮
			}
	    	
	    });
	    
	    
	    
		
		frame.add(panel);
		frame.setUndecorated(true);
		frame.setVisible(true);
	    frame.setBounds(640,360,640,400);
	    frame.setAlwaysOnTop(true);
	    frame.setBackground(new Color(0,0,0,0));
	    
	    
		rec=labelX.getBounds();
		rec1=label_.getBounds();
		
	}
	
	
	class mouselistener extends MouseAdapter{


		@Override
		public void mouseClicked(MouseEvent e) {
			point.x-=panel1.getLocation().x;
			  if(rec.contains(point))
				System.exit(0);
			    }
		@Override
		public void mousePressed(MouseEvent e) {
			point=e.getPoint();
			System.out.println("X: "+point.x+" , Y: "+point.y);
		 }
		   
	 }

	
	 class movelistener extends MouseMotionAdapter{

		@Override
		public void mouseDragged(MouseEvent e) {
			Point p = frame.getLocation();
			Dimension dimension = frame.getSize();
				// 设置窗口的位置
				// 窗口当前的位置 + 鼠标当前在窗口的位置 - 鼠标按下的时候在窗口的位置
				frame.setLocation(p.x + e.getX() - point.x, 
						p.y + e.getY()- point.y);
				frame.repaint();
		}

	 }

	
	class actionlistener implements ActionListener{

		@Override
		public void actionPerformed(ActionEvent e) {
			
			//只是界面演示,并未实现具体登录或注册功能
			
		if(e.getSource()==button1){
			JDialog jd=new JDialog();
			jd.setTitle("注册成功!");
			jd.add(new JTextArea(""));
			jd.setLocationRelativeTo(null);
			jd.setSize(400,200);
			jd.setModal(true);
			jd.setAlwaysOnTop(true);
			jd.setVisible(true);
		}
		else if(e.getSource()==button2){
			
			JDialog jd=new JDialog();
			jd.setTitle("登录成功!");
			jd.add(new JTextArea(""));
			jd.setLocationRelativeTo(null);
			jd.setSize(400,200);
			jd.setModal(true);
			jd.setAlwaysOnTop(true);
			jd.setVisible(true);
			
			}
		}
	}

	
	//监听textField的输入内容,如果不是数字则输入无效
	class keyListener extends KeyAdapter{

		@Override
		public void keyTyped(KeyEvent e) {
			if(e.getSource()==jtf){
				char s=e.getKeyChar();
				if ((s=='1')|(s=='2')|(s=='3')|(s=='4')|(s=='5')||
					(s=='6')||(s=='7')||(s=='8')||(s=='9')||(s=='0'))
					{}
				  else {
					  
					  //如果输入内容不是数字则消去输入,并且使系统发出警告声
					e.consume();
					Toolkit.getDefaultToolkit().beep();
				  }
			}
		}		
					
		@Override
		public void keyReleased(KeyEvent e){
			
			//当账号输入为空或者密码为空时设置登录按钮无效,即按钮不可按      当两者都不为空是设置登录按钮有效,即按钮可按
			
		  if(e.getSource()==jpf){
         	if((jpf.getPassword().length)!=0){
         	  if(jtf.getText().length()!=0){
				button2.setEnabled(true);  //当账号密码都不为空时登录按钮有效
				System.out.println(jpf.getPassword());
			  }
           }else if(jpf.getPassword().length==0)
				button2.setEnabled(false); //密码为空,按钮不可按
		  }else if(e.getSource()==jtf){
			 if(jtf.getText().length()==0){ //帐号为空
				 button2.setEnabled(false);
			 }
			 else if(jtf.getText().length()!=0)     
				if(jpf.getPassword().length!=0){
				  button2.setEnabled(true);
				}
		   }
		}
	}


	
}












最近下载更多
xiongwei11231  LV8 2月29日
543666826  LV33 2021年11月28日
15995115  LV2 2020年12月28日
1261501711  LV1 2020年11月21日
BestClever  LV32 2020年6月29日
zyxlys  LV14 2020年6月28日
Demo1111  LV30 2020年6月1日
outer2000  LV16 2020年5月21日
z824057572  LV4 2020年4月16日
tttxin  LV11 2020年3月29日
最近浏览更多
krispeng  LV6 4月16日
xiongwei11231  LV8 2月29日
wertttak  LV1 2023年9月26日
cksndh  LV4 2023年8月16日
万紫怡  LV4 2023年6月15日
微信网友_6468028283097088  LV5 2023年5月30日
微信网友_6444139264921600  LV6 2023年4月29日
yohohero  LV1 2023年1月15日
itlaolang  LV5 2022年12月31日
陈小灏  LV14 2022年11月9日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友