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脚本篇——文件读写操作

     函数说明 函数原型: size_t fwrite( const void *buffer, size_t size, size_t count, FILE *file_pointer ); 参数说明 ...

  2. jQuery开发入门

    jQuery是JavaScript库中的优秀一员. 下载完jQuery框架文件jquery-1.9.0.js 后,不需要任何安装,仅需使用<script>文件导入标记,将该框架文件导入页面 ...

  3. css系列(4)简介

        本节用来简单介绍css.     (1)css: CSS 指层叠样式表 (Cascading Style Sheets): 功能以及作用:1.样式定义如何显示 HTML 元素; 2.样式通常存 ...

  4. pdoModel封装

    <?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/7/24 * Time: 14:03 */ /** * 数 ...

  5. Python 循环语句(while, for)

    # while的使用 # 要注意些循环的时候,要考虑好循环的结束 # 考虑循环结束的方法有2种: # 1.考虑在循环体里改变while 的条件 # 2.在循环体通过break 语句跳出循环 # 方法1 ...

  6. 如何在java代码中调用一个web项目jsp或者servlet

    有时候需要调用一个web项目的jsp或者servlet,但是执行内部的代码,并不是打开jsp,例如需要在一段java代码中清除一个web项目中的缓存,那么可以把清除缓存的代码放在该web项目的一个se ...

  7. ActiveMQ部署和503的错误

    最近部署ActiveMQ的时候,发现有的服务器可以打开后台管理网址,有的服务器无法打开,Jetty报503 Service Unavailable. 搞了很久终于发现了问题,现将部署和解决过程做笔记如 ...

  8. nginx 反向代理配置之---指定单域名

    server { listen 80; server_name ngin服务器所对应的的域名; error_log /data/logs/nginx/mainsite.error.log; acces ...

  9. R语言笔记004——R批量读取txt文件

    R批量读取txt文件 本文数据,代码都是参考的是大音如霜公众号,只是自己跟着做了一遍. path<-'C:\\Users\\Administrator\\Desktop\\docs' docs& ...

  10. ZooKeeper-安装和运行

    ZooKeeper安装和运行 1. 下载安装包 zookeeper-3.4.9.tar.gz 2. 解压 tar -zxvf zookeeper-3.4.9.tar.gz ZooKeeper提供了几个 ...