swing之JDialog
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的更多相关文章
- JAVA学习中Swing部分JDialog对话框窗体的简单学习
package com.swing; import java.awt.Color;import java.awt.Container;import java.awt.event.ActionEvent ...
- 第13章 Swing程序设计----JDialog窗体
JDialog窗体是Swing组件中的对话框 JDialog窗体的功能是从一个窗体中弹出另一个窗体,就像是在使用IE浏览器时弹出的确定对话框一样. 在应用程序中创建JDialog窗体需要实例化JDia ...
- swing自定义JDialog弹出框
第一次搞swing,自定义JDialog的例子较少,写下来备忘 ,对JDialog中的文本框进行了验证 package com.chauvet; import java.awt.Component; ...
- java swing JDialog 和 java.util.concurrent的使用
参考链接: Java-Swing的JFrame的一些插件使用详解 java swing JDialog 使用 ScheduledExecutorService定时周期执行指定的任务 swing JDi ...
- Swing JDialog监听回车键
在做项目时,发现在JDialog中,直接通过addKeyListener来监听回车键不起作用,无法监听到回车键,后面在网上查了些资料,终于解决了.方法如下: KeyStroke stroke = Ke ...
- Java界面设计 Swing(1)
Java界面设计的用途 开发者可以通过Java SE开发丰富并且强大的具有图形界面的桌面应用程序.也可以设计一些提高效率的工具软件,帮助自己处理机械性工作. Java 的图形界面工具包,可以用于工具类 ...
- Swing学习笔记1-----Swing组件类的层次
1. 从结构上划分 Swing 组件类分为两种,一种是JComponent类,一种是Windows类.其中windows类包含的是一些可以独立显示的组件,而JComponent类包含的是不可以独立显 ...
- Java Swing 第01记 Hello Word
首先来一个Java Swing的HelloWord程序. package cn.java.swing.chapter03; import javax.swing.JButton; import jav ...
- Swing应用开发实战系列之五:后台日志信息前台监控器
作为一个程序设计人员,我们深知日志的重要性,对于日志的监控,我们通常不外乎采用以下两种方式:日志文件方式和后台打印方式,常规情况下,这两种日志监控方式完全可以满足我们对日志监控的需要.但是,当我们用S ...
随机推荐
- Android 上Camera分析
http://blog.csdn.net/u010503912/article/details/52315721 Android Camera 系统架构源码分析(1)---->Camera的初始 ...
- jni 编译错误error: unknown type name '__va_list'
platforms\android-9\arch-arm\usr\include\stdio.h:257:37: error: unknown type name '__va_list' 解 ...
- Android 使用OpenCV的三种方式(Android Studio)
http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份,当时还是个菜 ...
- C语言math.h库函数中atan与atan2的区别
源: C语言math.h库函数中atan与atan2的区别 C语言中的atan和atan2
- CMD mysql 备份脚本
创建.bat文件 echo. echo MySQL数据库备份脚本 echo ***************************** echo. echo 备份日期:%date% echo 备份时间 ...
- 主攻ASP.NET MVC4.0之重生:发邮箱激活验证
导入Interop.jmail组件 using jmail;using System.Net.Mail; 点击下载源代码 Controller相关代码 public class SendEmailCo ...
- Django用户注册、邮箱验证实践
算法流程如下:1)处理用户注册数据,存入数据库,is_activity字段设置为False,用户未认证之前不允许登陆2)产生token,生成验证连接URL3)发送验证邮件4)用户通过认证邮箱点击验证连 ...
- 吴恩达深度学习笔记(九) —— FaceNet
主要内容: 一.FaceNet人脸识别简介 二.使用神经网络对人脸进行编码 三.代价函数triple loss 四.人脸库 五.人脸认证与人脸识别 一.FaceNet简介 1.FaceNet是一个深层 ...
- 吴恩达深度学习笔记(八) —— ResNets残差网络
(很好的博客:残差网络ResNet笔记) 主要内容: 一.深层神经网络的优点和缺陷 二.残差网络的引入 三.残差网络的可行性 四.identity block 和 convolutional bloc ...
- 发现程序bug思路
大家有没有遇到过项目,程序出现个bug,但花了好久(真的是a long long time啊)才发现引发这个问题的原因,心想原来就这个原因导致的啊,要是早想到就好了! 其实我们确实的是方法,希望我的抛 ...