package canying;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener; import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException; import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JPopupMenu;
import javax.swing.JTextField; import shujuku.basedao; public class denglu extends JDialog implements ActionListener,KeyListener{ JLabel jl1,jl2,jl3;
JTextField jt;
JPasswordField jpf;
JButton jb1,jb2;
public static void main(String[] args)//这个主函数不需要,只是为了调试用
{ denglu dg=new denglu(); } public denglu()
{
jl1=new JLabel("用户名");
jl1.setBounds(, , , );//设置改标签的位置
this.add(jl1);
jl2=new JLabel("(或员工编号)");
jl2.setForeground(Color.red);//设置此对象的前景色
jl2.setBounds(, , , );
this.add(jl2);
jl3=new JLabel("密码");
jl3.setBounds(, , , );
this.add(jl3); jt=new JTextField();
jt.setFocusable(true);
jt.setBounds(, , , );//设置位置
this.add(jt);
jt.setBorder(BorderFactory.createLoweredBevelBorder());//设置边框凹下去的效果 jpf=new JPasswordField();
jpf.setFocusable(true);
jpf.setBounds(, , , );
jpf.addKeyListener(this);
this.add(jpf);
jpf.setBorder(BorderFactory.createLoweredBevelBorder()); jb1=new JButton("确定");
jb1.setBounds(, , , );
jb1.setForeground(Color.blue);
jb1.addActionListener(this);
final String id=jb1.getText();
JPopupMenu pop=new JPopupMenu(id);
JMenuItem it1=new JMenuItem ("功能1");
it1.addMouseListener(new MouseListener()
{
@Override
public void mouseReleased(MouseEvent e)
{
System.out.println(" 右键功能");
} @Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub } @Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub } @Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub } @Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub } });
this.add(jb1); jb2=new JButton("取消");
jb2.setBounds(, , , );
jb2.setForeground(Color.blue);
jb2.addActionListener(this);
this.add(jb2); this.setLayout(null);//空布局是为了各组件在指定的位置显示
backimage bi=new backimage();
bi.setBounds(, , , );
this.add(bi);
this.setUndecorated(true);//去掉JFrame的边框
this.setSize(,);
int width=getToolkit().getDefaultToolkit().getScreenSize().width;
int height=getToolkit().getDefaultToolkit().getScreenSize().height;
this.setLocation(width/-, height/-);
this.setVisible(true);
} @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb1)
{
String usr=this.jt.getText().trim();
String ps=new String(this.jpf.getPassword());
String sql="select zhiwei from renyuan a,zheze b where a.pK_id=b.pk_id and a.name=? and a.passwd=?";
Object [] ob={usr,ps};
basedao db=new basedao();
ResultSet rs;
rs=db.execute(sql, ob, );
try {
if(rs.next())
{
String zhiwei=rs.getString();
if(zhiwei.equals("manager"))
{ this.dispose();
new caozuo();
}
else
{
JOptionPane.showMessageDialog(this, "很抱歉 你没有权限 请联系管理员");
}
}
else
{
JOptionPane.showMessageDialog(this, "用户名或密码错误!");
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} } if(e.getSource()==jb2)
{
this.dispose(); } } @Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getKeyCode()==KeyEvent.VK_ENTER)
{ String usr=this.jt.getText().trim();
String ps=new String(this.jpf.getPassword());
String sql="select zhiwei from renyuan a,zheze b where a.pK_id=b.pk_id and a.name=? and a.passwd=?";
Object [] ob={usr,ps};
basedao db=new basedao();
ResultSet rs;
rs=db.execute(sql, ob, );
try {
if(rs.next())
{
String zhiwei=rs.getString();
if(zhiwei.equals("manager"))
{ this.dispose();
new caozuo();
}
else
{
JOptionPane.showMessageDialog(this, "很抱歉 你没有权限 请联系管理员");
}
}
else
{
JOptionPane.showMessageDialog(this, "用户名或密码错误!");
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} }
} @Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub } @Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub }
} class backimage extends JPanel
{
Image im;
public backimage()
{
try{
im=ImageIO.read(new File("image/0304_5.jpg")); }catch(Exception e){e.printStackTrace();} } public void paint(Graphics g) {
g.drawImage(im, , , , , this); }
}

swing之JDialog的更多相关文章

  1. JAVA学习中Swing部分JDialog对话框窗体的简单学习

    package com.swing; import java.awt.Color;import java.awt.Container;import java.awt.event.ActionEvent ...

  2. 第13章 Swing程序设计----JDialog窗体

    JDialog窗体是Swing组件中的对话框 JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样. 在应用程序中创建JDialog窗体需要实例化JDia ...

  3. swing自定义JDialog弹出框

    第一次搞swing,自定义JDialog的例子较少,写下来备忘 ,对JDialog中的文本框进行了验证 package com.chauvet; import java.awt.Component; ...

  4. java swing JDialog 和 java.util.concurrent的使用

    参考链接: Java-Swing的JFrame的一些插件使用详解 java swing JDialog 使用 ScheduledExecutorService定时周期执行指定的任务 swing JDi ...

  5. Swing JDialog监听回车键

    在做项目时,发现在JDialog中,直接通过addKeyListener来监听回车键不起作用,无法监听到回车键,后面在网上查了些资料,终于解决了.方法如下: KeyStroke stroke = Ke ...

  6. Java界面设计 Swing(1)

    Java界面设计的用途 开发者可以通过Java SE开发丰富并且强大的具有图形界面的桌面应用程序.也可以设计一些提高效率的工具软件,帮助自己处理机械性工作. Java 的图形界面工具包,可以用于工具类 ...

  7. Swing学习笔记1-----Swing组件类的层次

    1.  从结构上划分 Swing 组件类分为两种,一种是JComponent类,一种是Windows类.其中windows类包含的是一些可以独立显示的组件,而JComponent类包含的是不可以独立显 ...

  8. Java Swing 第01记 Hello Word

    首先来一个Java Swing的HelloWord程序. package cn.java.swing.chapter03; import javax.swing.JButton; import jav ...

  9. Swing应用开发实战系列之五:后台日志信息前台监控器

    作为一个程序设计人员,我们深知日志的重要性,对于日志的监控,我们通常不外乎采用以下两种方式:日志文件方式和后台打印方式,常规情况下,这两种日志监控方式完全可以满足我们对日志监控的需要.但是,当我们用S ...

随机推荐

  1. Loadrunder脚本篇——文件下载

    下载简介 对 HTTP协议来说,无论是下载文件或者请求页面,对客户端来说,都只是发出一个GET请求,并不会记录点击后的“保存”.“另存为操作”. 如下,点击页面中tar.gz压缩包,用工具可以清楚的看 ...

  2. loadrunder之脚本篇——集合点设置

    1  作用 通过让多用户在同一时间点上进行并发操作来测试系统的并发处理的能力 2  实现 通过集合点函数来实现. 注意:集合点经常和事务结合起来使用.集合点只能插入到Action部分,vuser_in ...

  3. $用python玩点有趣的数据分析——一元线性回归分析实例

    Refer:http://python.jobbole.com/81215/ 本文参考了博乐在线的这篇文章,在其基础上加了一些自己的理解.其原文是一篇英文的博客,讲的通俗易懂. 本文通过一个简单的例子 ...

  4. window.name跨域

    window.name? 每一个页面都有一个自己的window,而window.name是window的名字. window.name跨域原理 window对象有个name属性,该属性有个特征:即在一 ...

  5. <script>放在head内和body内有什么区别

    加载的顺序不一样,你可以把HTML看成从上往下加载的. 例如在网速慢的情况下把js代码放在body底部用户会先看到网页结构,等js加载完成后才出现特效 区别简述: 在HTML body部分中的Java ...

  6. 建议40:深入掌握ConfigParser

    # -*- coding:utf-8 -*- ''' 1.getboolean() 根据一定的规则将配置项的值转换为布尔值 getboolean() 的真值规则: 0.no.false 和off 都会 ...

  7. QT线程

    一.QObject子类 说明:以串口线程传输文件为例子,使用的是MoveTothread函数. void QObject::moveToThread(QThread *targetThread)可以将 ...

  8. python的一些内置函数

    最近看到一些人写的文章里有提到python的描述符__get__,__set__,__del__. 这里我也小小研究了一下,除了这3个之外还加上过程中学习的几个,比如__call__等. __get_ ...

  9. 分开统计的sql写法

    DECLARE @StartDate DATETIME= '2017-10-13 00:00:00';DECLARE @EndDate DATETIME= '2017-11-13 23:00:00'; ...

  10. QT QMimeData类

    http://blog.csdn.net/xie376450483/article/details/5863810 QMimeData类提为数据提供一个容器,用来记录关于MIME类型数据的信息 QMi ...