
该功能的主要实现方法如下:
一般来说,大多数的信息窗口是没有标题栏的,因此信息窗口不能由继承jframe 类来实现,一种简单的做法是通过继承jwindow 来实现(当然继承window 类也可以,但一个原则是尽量使用swing 中的界纯锋面
类)。另外,本例用到java.awt 包中的mediatracker 类。使用该类的好处是可以更好地管理程序中要使用的图片,同时还可以保证图片和界面同时显示,避免了窗口显示后很久才显示图片的缺点。
具体 *** 作步骤如下:
1.新建一个project,取名为jspleshwindowdemo,其他设置按默认值。
2.新建一个application ,取名为jspleshwindowdemo,主窗口取名为mainframe,主窗口标题取名为jspleshwindowdemo。
3.先来编写信息窗口的代码。新建一个新类spleshwindow.java,继承java.swing.jwindow类。在spleshwindow 类中,定义新的属性,代码如下:
private string statusstr=null//信息窗口中要显示的信息
private image logoimg=null//信息窗口中的显示图片
4.向构造方法中渗羡添加代码,加载图片并初始化窗体,实现代码如下:
public spleshwindow(jframe owner) { //以jframe 对象为参数,可以是信息窗口和主窗口交互
super( owner )
// 加载图片
logoimg=gettoolkit().getimage( classloader.getsystemresource("images/splesh.jpg") )
// 等待图片加载完成
java.awt.mediatracker tracker=new java.awt.mediatracker( this )//创建一个mediatracker 对象
tracker.addimage( logoimg , 0 )//将图片放入mediatracker 对象中,序号为0
try{ //等待直到图片加载完成
tracker.waitforall()
}catch ( interruptedexception e ) {
e.printstacktrace()
}
// 设置信息窗体在屏幕上的显示位置
setlocation( gettoolkit().getscreensize().width/2 - logoimg.getwidth(this)/2 , gettoolkit().getscreensize().height/2 -
logoimg.getheight(this)/2 )
setsize( logoimg.getwidth(this) , logoimg.getheight(this) )// 设置窗口大小
}
5.编写设置显示信息的方法,代码如下:
public void setstatus( string status ){
statusstr=status
paint( getgraphics() )// 重画窗口来更新信息窗口中的显示信息
}
6.重置paint()方法来绘制图片和显示信息的方法,代码如下:
public void paint(graphics g) {
/**@todo override this java.awt.component method*/
super.paint(g)
//绘制图片
if ( logoimg!=null )
这是我以前的课程设计,我把代码摘录一部分出来,希望对你有帮助!/**
*MyFrame.java
*author:the fourth group
*version: 2007/1/27
*说明:该程序负责系统登陆框的哪者设置和实
*该应用程差轮序为首先显示的程序
*/
package com.java
import java.awt.Container
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import java.awt.event.ItemEvent
import java.awt.event.ItemListener
import javax.swing.ButtonGroup
import javax.swing.ImageIcon
import javax.swing.JButton
import javax.swing.JFrame
import javax.swing.JLabel
import javax.swing.JOptionPane
import javax.swing.JPasswordField
import javax.swing.JRadioButton
import javax.swing.JTextField
//import java.util.*
public class MyFrame implements ActionListener ,ItemListener{
//登陆界面属性
String userName
Container con
JLabel lab1,lab2,lab3,lab4
JTextField tf1
JPasswordField tf2
JRadioButton cb1,cb2,cb3
JButton bu1,bu2,bu3
JFrame fr1
public MyFrame(){
fr1=new JFrame()
con=fr1.getContentPane()
con.setLayout(null)
JLabel lab1=new JLabel("账号")
lab1.setBounds(20,70,50,20)
con.add(lab1)
lab2=new JLabel("密码")
lab2.setBounds(20,100,50,20)
con.add(lab2)
tf1=new JTextField()
tf1.setBounds(80,70,160,20)
con.add(tf1)
tf2=new JPasswordField()
tf2.setEchoChar('●')
tf2.setBounds(80,100,160,20)
con.add(tf2)
ButtonGroup cg1=new ButtonGroup()
cb1=new JRadioButton("普通虚缓信会员")
cb1.setBounds(15,135,80,20)
cb1.addItemListener(this) //普通会员
con.add(cb1)
cb2=new JRadioButton("图书管理员")
cb2.setBounds(90,135,102,20)
cb2.addItemListener(this)
con.add(cb2)
cb3=new JRadioButton("系统管理员")
cb3.setBounds(190,135,120,20)
cb3.addItemListener(this)
con.add(cb3)
cg1.add(cb1)
cg1.add(cb2)
cg1.add(cb3)
bu1=new JButton("登陆")
bu1.addActionListener(this)
bu1.setBounds(10,170,60,20)
con.add(bu1)
bu2=new JButton("取消")
bu2.setBounds(110,170,60,20)
con.add(bu2)
// bu1.addActionListener(new ActionListener(){
// public void actionPerformed(ActionEvent e){
////tf1.setText("")
////tf2.setText("")
////itemStateChanged()
// }
// })
bu2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
tf1.setText("")
tf2.setText("")
//new Operator().showframe()
}
})
bu3=new JButton("注册")
bu3.setBounds(210,170,60,20)
// con.add(bu3)
bu3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
// Face2()
}
})
lab3=new JLabel(new ImageIcon("2.jpg"))
lab3.setBounds(0,0,300,60)
con.add(lab3)
lab4=new JLabel(new ImageIcon("1.jpg"))
lab4.setBounds(0,0,300,230)
con.add(lab4)
fr1.setBounds(305,100,300,230)
fr1.setTitle("图书管理系统java版")
fr1.setResizable(false)
fr1.setVisible(true)
}
public void itemStateChanged(ItemEvent e){
//if(cb1.isSelected()){
//// p.showframe()
// try{
//// p.menu0.setEnabled(false)
////
//// p.menuItem6.setEnabled(false)
//// p.menuItem7.setEnabled(false)
//}catch(Exception d){}
//
//// p.menuItem3.setEnabled(false)
//// p.menuItem5.setEnabled(false)
//// p.menuItem6.setEnabled(false)
// }
// else if(cb2.isSelected()){
//// p.showframe()
//try{
//p.menu2.setEnabled(false)
// }catch(Exception d){}
//}
// else if(cb3.isSelected()){
//// p.showframe()
// }
}
public void actionPerformed(ActionEvent e){
//Operator p=new Operator()
if(e.getSource()==bu2)
{
this.setEnable("else")
}
else if(e.getSource()==bu1)
{
char[] password=tf2.getPassword() //获得密码
String passwordSTR=new String(password)
if(tf1.getText().equals("wp")&tf2.getText().equals("456")&!cb1.isSelected()){
JOptionPane.showMessageDialog(null,"请检查你的权限 !")
}
if(tf1.getText().equals("wp")&tf2.getText().equals("456")&cb1.isSelected()){
JOptionPane.showMessageDialog(null,"恭喜你提交成功")
fr1.setVisible(false)
// Operator s= new Operator("设计")//普通用户
//s.ti()
}
if(tf1.getText().equals("wp")&tf2.getText().equals("123456")&cb1.isSelected()){
JOptionPane.showMessageDialog(null,"恭喜你提交成功")
fr1.setVisible(false)
// Operator s=new Operator("设计")//普通用户
//s.ti()
}
if(tf1.getText().equals("王琼琨")&tf2.getText().equals("123456")&cb1.isSelected()){
JOptionPane.showMessageDialog(null,"恭喜你提交成功")
fr1.setVisible(false)
//Operator s= new Operator("设计")//普通用户
//s.ti()//普通用户
}
if(tf1.getText().equals("陈银山")&tf2.getText().equals("123456")&cb3.isSelected()){
fr1.setVisible(false)
JOptionPane.showMessageDialog(null,"恭喜你提交成功")//高级管理员
//new Operator("设计")//普通用户
}
if(tf1.getText().equals("刘凡")&tf2.getText().equals("6598")&cb2.isSelected()){
JOptionPane.showMessageDialog(null,"恭喜你提交成功")//图书管路元
fr1.setVisible(false)
//Operator s= new Operator("设计")//图书挂历员 用户
//s.ti1()
}
if(tf1.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"用户名不能为空!")
return
}
if(passwordSTR.equals(""))
{
JOptionPane.showMessageDialog(null,"密码不能为空!")
return
}
else{
userName=tf1.getText().trim()
}
String strSQL
strSQL="select * from users where 用户名='"+
tf1.getText().trim()+"'and 密码='"+
passwordSTR+"'"
//rs=db.getResult(strSQL)
boolean isExist=false
try
{
//isExist=rs.first()
}
catch(Exception sqle)
{
System.out.println(sqle.toString())
}
if(!isExist)
{
JOptionPane.showMessageDialog(null,"用户名不存在或者密码不正确!")
System.out.print("连接失败")
// this.setEnable("else")
}
else
{
//try
//{
////rs.first()
////this.setEnable(rs.getString("权限").trim())//设置权限
//// db.closeConnection()//DataBase
//}
//catch(SQLException sqle2)
//{
//System.out.println(sqle2.toString())
//}
}
}
}
/**
* 设置登录用户的权限
*
*/
public void setEnable(String powerType)
{
/**
* 根据不同用户设置相应权限
*/
//Operator p=new Operator()
if(powerType.trim().equals("系统管理员"))
{
System.out.println ("系统管理员")
//p.showframe()
}
else if(powerType.trim().equals("书籍管理员"))
{
System.out.println ("书籍管理员")
//p.showframe()
//p.menuItem6.setEnabled(false)
}
else if(powerType.trim().equals("else"))
{
System.out.println ("其他")
//p.showframe()
//p.menu0.setEnabled(false)
//p.menu2.setEnabled(false)
}
}
/**
* 登陆
*/
public static void main(String args []){
new MyFrame()
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)