您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 仿QQ登录窗体,拉伸展开!
  所属分类: Java
  开发工具:
  文件大小: 4kb
  下载次数: 0
  上传时间: 2011-06-22
  提 供 者: lw421******
 详细说明: package com.Login; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.Graphics; import java.awt.GridLayout; import java.awt.Point; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.sql.Conne ction; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JTextField; import javax.swing.UIManager; import com.jdbc.DB; import com.window.Main; public class Login extends JFrame { private JPanel contentPane; private Point pressedPoint; /*private final class LoginActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { // 显示窗体的登录进度面板 getGlassPane().setVisible(true); } }*/ public static void main(String[] args) { try { UIManager .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); } catch (Throwable e) { e.printStackTrace(); } EventQueue.invokeLater(new Runnable() { public void run() { try { Login frame = new Login (); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public Login(){ super("登录"); addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { do_this_windowOpened(e); } }); setUndecorated(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(380,280); setIconImage(new ImageIcon("image\\tubiao.png").getImage()); Dimension displaySize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize=this.getSize(); setLocation((displaySize.width - frameSize.width) / 2+(frameSize.width)/2,(displaySize.height - frameSize.height) / 2); contentPane=new JPanel(); contentPane.setBorder(BorderFactory.createLineBorder(Color.BLACK)); //设置边框为无 contentPane.setLayout(new BorderLayout(0,0));//设置contentPane的布局 setContentPane(contentPane);// JPanel topPanel = new JPanel(){ public void paintComponent(Graphics g) { g.drawImage(new ImageIcon("image\\logintop1.jpg").getImage(), 0, 0,500,48, null); super.paintComponent(g); } };//标题栏panel topPanel.addMouseMotionListener(new MouseMotionAdapter() { @Override public void mouseDragged(MouseEvent e) { do_topPanel_mouseDragged(e); } }); topPanel.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { do_topPanel_mousePressed(e); } }); topPanel.setOpaque(false);//设置背景透明 topPanel.setPreferredSize(new Dimension(500,30)); topPanel.setLayout(null); JPanel panel = new JPanel(); panel.setBounds(312, 0, 66, 15); panel.setOpaque(false); topPanel.add(panel); panel.setLayout(new GridLayout(1, 0, 0, 0)); JButton button = new JButton(""); button.setRolloverIcon(new ImageIcon("image\\button4.png")); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { do_button_itemStateChanged(e); } }); button.setFocusPainted(false);// 取消焦点绘制 button.setBorderPainted(false);// 取消边框绘制 button.setContentAreaFilled(false);// 取消内容绘制 button.setIcon(new ImageIcon("image\\button4-1.png")); panel.add(button); JButton button_2 = new JButton(""); button_2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { do_button_2_actionPerformed(e); } }); button_2.setRolloverIcon(new ImageIcon("image\\button3.png")); button_2.setFocusPainted(false); button_2.setContentAreaFilled(false); button_2.setBorderPainted(false); button_2.setIcon(new ImageIcon("image\\button3-1.png")); panel.add(button_2); contentPane.add(topPanel, BorderLayout.NORTH); JPanel backgroundPanel = new JPanel(){ public void paintComponent(Graphics g) { g.drawImage(new ImageIcon("image\\loginframe1.jpg").getImage(), 0, 0,500,300, null); super.paintComponent(g); } };//panel backgroundPanel.setLayout(new GridLayout(1,1)); backgroundPanel.setOpaque(false); JPanel panel1 = new JPanel() { public void paintComponent(Graphics g) { g.drawImage(new ImageIcon("image\\4.png").getImage(), 0, 0,420,200, null); super.paintComponent(g); } }; panel1.setLayout(null); panel1.setOpaque(false); JLabel label1=new JLabel("用户名:"); JLabel label2=new JLabel("密 码:"); final JTextField text1=new JTextField(15); final JPasswordField text2=new JPasswordField(15); label1.setBounds(80,60,60,30); text1.setBounds(160, 60, 150,30); label2.setBounds(80,120,60,30); text2.setBounds( 160, 120, 150, 30); panel1.add(label1); panel1.add(text1); panel1.add(label2); panel1.add(text2); backgroundPanel.add(panel1); contentPane.add(backgroundPanel, BorderLayout.CENTER); JPanel panel2 =new JPanel(); //panel2.setPreferredSize(new Dimension(380,40)); panel2.setLayout(null); panel2.setOpaque(false); JButton button1=new JButton("登录"); JButton button2=new JButton("取消"); MouseAdapter mouseAdapter = new MouseAdapter() {// 创建鼠标事件监听器 private Rectangle sourceRec;// 创建矩形对象 @Override public void mouseEntered(MouseEvent e) { JButton button = (JButton) e.getSource();// 获取事件源按钮 sourceRec = button.getBounds();// 保存按钮大小 button.setBounds(sourceRec.x-5, sourceRec.y-5, sourceRec.width + 10, sourceRec.height + 10);// 把按钮放大 super.mouseEntered(e); } @Override public void mouseExited(MouseEvent e) { JButton button = (JButton) e.getSource();// 获取事件源按钮 if (sourceRec != null) {// 如果有备份矩形则用它恢复按钮大小 button.setBounds(sourceRec);// 设置按钮大小 } super.mouseExited(e); } }; button1.addMouseListener(mouseAdapter); button2.addMouseListener(mouseAdapter); button1.setBackground(new Color(154,216,230)); button2.setBackground(new Color(154,216,230)); //button1.setBorder(BorderFactory.createLineBorder(Color.blue) ); //button1.setBorder(new EmptyBorder(10, 0, 0, 0));// 顶部留白:40pix //button2.setBorder(new EmptyBorder(10, 0, 0, 0));// 顶部留白:40pix button1.setBounds(190, 9,70, 30); button2.setBounds(280, 9,70, 30); panel2.add(button1); panel2.add(button2); panel2.setBounds(0, 200, 380, 50); panel1.add(panel2); //button1.addActionListener( new LoginActionListener()); button1.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { Connection con = null; PreparedStatement pstmt = null; ResultSet rs=null; Statement stmt=null; try{ con=DB.getConnection(); pstmt = con.prepareStatement("select *from tb_manager where id=? and password=?"); pstmt.setString(1, text1.getText()); pstmt.setString(2, text2.getText()); rs=pstmt.executeQuery(); JOptionPane pane=new JOptionPane(); if(rs.next()) { // new LoginActionListener(); pane.showMessageDialog(null, "登录成功!"); // new Main(); new Main(); dispose();// 销毁窗体 con.close(); } else if(text1.getText().equals("")||text2.getText().equals("")) { pane.showMessageDialog(null, " 登录失败!用户名或密码不能为空,请重新输入!"); text1.setText(""); text2.setText(""); } else { pane.showMessageDialog(null, "登录失败,你输入的用户名或密码错误,请重新输入!"); text1.setText(""); text2.setText(""); } }catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { DB.close(pstmt); DB.close(pstmt); } } } ); button2.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } } ); } protected void do_button_itemStateChanged(ActionEvent e) { setExtendedState(JFrame.ICONIFIED);// 窗体最小化 } protected void do_button_2_actionPerformed(ActionEvent e) { dispose();// 销毁窗体 } protected void do_topPanel_mousePressed(MouseEvent e) { pressedPoint = e.getPoint();// 记录鼠标坐标 } protected void do_topPanel_mouseDragged(MouseEvent e) { Point point = e.getPoint();// 获取当前坐标 Point locationPoint = getLocation();// 获取窗体坐标 int x = locationPoint.x + point.x - pressedPoint.x;// 计算移动后的新坐标 int y = locationPoint.y + point.y - pressedPoint.y; setLocation(x, y);// 改变窗体位置 } protected void do_this_windowOpened(WindowEvent e) { final int height = getHeight();// 记录窗体高度 new Thread() {// 创建新线程 public void run() { Rectangle rec = getBounds(); for (int i = 0; i < 385; i += 10) {// 循环拉伸窗体 setBounds(rec.x - i / 2, rec.y, i, height);// 不断设置窗体大小与位置 try { Thread.sleep(15);// 线程休眠10毫秒 } catch (InterruptedException e1) { e1.printStackTrace(); } } } }.start();// 启动线程 } } ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 登录窗体、登录框
 输入关键字,在本站1000多万海量源码库中尽情搜索: