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日