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. 如何修改Eclipse中的快捷键

    首先打开Eclipse,Windows->Preferences ↓ 进入Preferences界面后,选择General->Keys ↓ 接下来你就会看到: 接下来点击OK就可以生效了.

  2. 微信小程序相关资料整理

    微信小程序官方介绍https://mp.weixin.qq.com/debug/wxadoc/introduction/index.html?t=201818 微信小程序开发资源https://jue ...

  3. 明远imx6

    http://pan.baidu.com/s/1ntsrQtF#path=%252FMY-I.MX6%2520V2.5 nkuc tftpboot 0x10800000 uImage.ramdisk ...

  4. 笔记:git和码云

    背景:之前使用GitHub,无奈网速原因,有时候竟无法连接,搜索解决方案而又鱼龙混杂淹没在信息的海洋. 于是尝试码云,界面简单,全中文,用起来很是顺手. 码云使用git来管理,操作上都是git的基本指 ...

  5. 【鸟哥的Linux私房菜】笔记2

    Linux的应用 学习资源整理 安装记录 >< 1.Linux的应用: 网络服务器 数据库 学术机构的高效运算任务 嵌入式系统 ... 2.挂载与磁盘分区 学习资源整理 学习 1.书上的网 ...

  6. linux开发应用程序到运行的过程

    1.给linux配置交叉编译环境 2.在windows下使用source insight写程序,一共有m个h文件,n个c文件,k个main函数 3.将源代码放在linux里 4.在源代码文件夹里新建m ...

  7. INSPIRED启示录 读书笔记 - 第24章 平滑部署

    避免更新产品导致用户反感 毫无征兆地更新不必要的版本会令用户产生反感.不是所有用户都喜欢新版本的产品.用户产生反感主要有几个原因 1.事前没有收到更新通知,用户觉得措手不及 2.用户没时间学习.适应新 ...

  8. create_workqueue和create_singlethread_workqueue【转】

    本文转载自:http://bgutech.blog.163.com/blog/static/18261124320116181119889/ 1. 什么是workqueueLinux中的Workque ...

  9. js限制输入内容

    1,限制输入正整数 onkeyup="value=value.replace(/[^\d]/g,'')" 2,限制输入为数字,包括小数(有瑕疵) onkeyup="val ...

  10. Apache Phoenix的Join操作和优化

    估计Phoenix中支持Joins,对很多使用Hbase的朋友来说,还是比较好的.下面我们就来演示一下. 首先看一下几张表的数据: Orders表: OrderID CustomerID ItemID ...