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. web前端基础知识学习网站推介

    内容:一.基础知识及学习资料1. HTML入门学习:http://www.w3school.com.cn/html/index.aspHTML5 入门学习:http://www.w3school.co ...

  2. 每天一个Linux命令(59)wget命令

        wget命令用来从指定的URL下载文件.     (1)用法:     用法:  wget  [参数]  [URL]     (2)功能:     功能:  wget命令用来从指定的URL下载 ...

  3. 012_Eclipse中使用 HDFS URL API 事例介绍

    本事例其实和使用hdfs FileSystem API差不多,FileSystem API也是通过解释成URL在hdfs上面执行的,性质相同,但是实际中用 的fFileSystem会多一点,源码如下: ...

  4. Qt移植对USB鼠标键盘、触摸屏的支持

    .USB键盘 经过一番搜索,发现对Qt键盘的支持主要关系到两个方面: 1. 键盘类型确定: 4.7以前的Qt版本,如果是PS2圆孔键盘,Qt编译时需加上选项:-qt-kbd-vr41xx(未测试):如 ...

  5. centos7环境下zookeeper的搭建步骤之单机伪集群

    首先说明:这里是单机版的伪集群搭建 第一步:下载zookeeper:zookeeper的下载地址: http://mirror.bit.edu.cn/apache/zookeeper/ 第二步:安装: ...

  6. springmvc返回视图(解析)

    1.什么是视图? 视图就是展示给用户看的结果.可以是很多形式,例如:html.JSP.excel表单.Word文档.PDF文档.JSON数据.freemarker模板视图等等. 2.传统JSP和JST ...

  7. 添加vue调试工具vue-devtolls

    1.在使用脚手架vue-cli.js下载好node-modules 2.在node-modules目录下找的vue-devtools文件(如果没有可以用npm install vue-devtools ...

  8. Linux嵌入式 -- 内核 - proc文件系统

    1. 什么是proc文件系统? 实例:通过 /proc/meminfo,查询当前内存使用情况. 结论:proc文件系统是一种在用户态检查内核状态的机制. 2.Proc文件分类 特点  每个文件都规定了 ...

  9. 云服务器pip下载老失败怎么办?

    pip install -i https://pypi.douban.com/simple django==1.9

  10. review29

    数组流 流的源和目的地除了可以是文件外,还可以是计算机内存. 1.字节数组流 字节数组输入流ByteArrayInputStream和字节数组输出流ByteArrayOutputStream分别使用字 ...