package gui;
import javax.swing.JLabel;
import javax.swing.JTable;
public class pagination
{
public void fenYe(String[][] str,int sig,JTable jtable,JLabel jlable)
{
//然后再进行数据添加
int count =getcount(str);
//分页前清除前面所有的类容
for (int i = 0; i < 10; i++)//加空白页
{
for (int j = 0; j < 5; j++)
{
jtable.setValueAt("", i, j);
}
}
if (count==1)
{
jlable.setText("1"+"/"+String.valueOf(count));
for (int i = 0; i < str.length; i++)
for (int j = 0; j < 5; j++)
{
jtable.setValueAt(str[i][j], i, j);
}
}
else
{
if (count==sig)
{
int k = 0;
jlable.setText(String.valueOf(count)+"/"+String.valueOf(count));
for (int i = (sig-1)*10; i < str.length; i++)
{
for (int j = 0; j < 5; j++)
{
jtable.setValueAt(str[i][j], k, j);
}
k++;
}
for (int i = k; i < 10; i++)//加空白页
{
for (int j = 0; j < 5; j++)
{
jtable.setValueAt("", i, j);
}
}
}
else
{
int k = 0;
jlable.setText(String.valueOf(sig)+"/"+String.valueOf(count));
for (int i = (sig-1)*10; i < sig*10; i++)
{
for (int j = 0; j < 5; j++)
{
jtable.setValueAt(str[i][j], k, j);
}
k++;
}
}
}
}
public int getcount(String[][] str)
{
int count = str.length/10; ///总页数
if(str.length%10!=0){
count++;
}
return count;
}
}
package gui;
import java.util.Set;
public class SingleString {
public static void setInstance(SingleString instance) {
SingleString.instance = instance;
}
private String[][] str;
public String[][] getStr() {
return str;
}
public void setStr(String[][] str) {
this.str = str;
}
private static SingleString instance = null;
public static SingleString getInstance()
{
if(instance == null)
{
instance = new SingleString();
}
return instance;
}
}
service包
package service;
import entity.Emp;
public interface ExamService {
public String login(String name,String password);
}
package service;
import dao.ModifyPwd;
import entity.Emp;
public class ExamServiceImpl implements ExamService{
private Emp loginUser;
@Override
public String login(String name, String password)
{
ModifyPwd mp = new ModifyPwd();
String pwd = mp.findPwd(name);
if(pwd!=null){
if(pwd.equals(password)){
return password;
}else{
return "密码错误";
}
}else{
return "用户名不存在";
}
}
}
test包
package test;
import service.ExamService;
import service.ExamServiceImpl;
import gui.AddFrame;
import gui.ChangeFrame;
import gui.LoginFrame;
import gui.MineContent;
import gui.OperateFrame;
public class Mine {
public static void main(String[] args) {
ExamService service=new ExamServiceImpl();
MineContent mc = new MineContent(service);
LoginFrame lf = new LoginFrame(mc);
mc.setLoginFrame(lf);
OperateFrame of = new OperateFrame(mc);
mc.setOperateFrame(of);
ChangeFrame cf = new ChangeFrame(mc);
mc.setChangeFrame(cf);
AddFrame af = new AddFrame(mc);
mc.setAddFrame(af);
mc.show();
}
}
util包
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil
{
String drive = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@127.0.0.1:1521:TESTDEMO";
String username = "system";
String password = "TESTDEMO";
static Connection conn=null;
/*
* 获得数据库连接
* */
public Connection getConn()
{
try
{
Class.forName(drive);
conn =DriverManager.getConnection(url, username, password);
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
catch (SQLException e)
{
e.printStackTrace();
}
return conn;
}
/*
* 关闭数据库连接
* */
public void closeConn(Connection conn)
{
try
{
if(conn!=null)
{
conn.close();
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println(new DBUtil().getConn().toString());
}
}
package util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class OperateXml
{
/**
* 在getOperXmlGinglton()方法中被调用,用于单例
*/
private static OperateXml operateXml = null;
/**
* 返回OperateXml实例
* @return OperateXml
*/
public static OperateXml getOperXmlGinglton()
{
if(operateXml == null)
{
operateXml = new OperateXml();
}
return operateXml;
}
/**
* 创建的Document对象结构类似于:
* <公司>
<部门 name="2012">
<小组 name="java"/>
<小组 name="c++"/>
</部门>
<部门 name="闲置"/>
</公司>
* @param lists 它的子List中第一个为部门名称且不能为空,后面全为小组名称且可以为空,
* 类似于:“部门名称,小组名称,小组名称...”
* @return Document
*/
public Document list2Document(ArrayList<ArrayList<String>> lists)
{
if(lists == null)
{
return null;
}
Document document = DocumentHelper.createDocument();
Element root = document.addElement("公司");
//创建部门节点
for (ArrayList<String> arrayList : lists)
{
Element element = root.addElement("部门");
element.addAttribute("name", arrayList.get(0));
//创建小组节点
for (int i = 1; i < arrayList.size(); i++)
{
Element element2 = element.addElement("小组");
element2.addAttribute("name",arrayList.get(i));
}
}
return document;
}
/**
* 根据Document对象在制定路径生成xml文件
* @param document 创建好的Document对象,不能为空
* @param pathName 路径名,包括文件的名称和格式,如:"C:\\abc.xml",不能为空
* @return boolean 是否成功生成xml文件
*/
public boolean writeXml(Document document,String pathName)
{
boolean flag = true;
if(document!=null && isRigthPathName(pathName))
{
FileOutputStream fileOutputStream = null;
XMLWriter writer = null;
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
try
{
fileOutputStream = new FileOutputStream(pathName);
writer = new XMLWriter(fileOutputStream,format);
//生成xml
writer.write(document);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if(fileOutputStream != null)
{
try
{
fileOutputStream.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
if(writer != null)
{
try
{
writer.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
else
{
flag = false;
}
return flag;
}
/**
* 判断文件是否以.xml结尾,文件是否存在
* @param pathName
* @return
*/
public boolean isRigthPathName(String pathName)
{
boolean flag = true;
if("".equals(pathName) || (pathName == null))
{
flag = false;
}
else
{
File file = new File(pathName);
if(!file.exists())
{
flag = false;
}
if(!pathName.endsWith(".xml"))
{
flag = false;
}
}
return flag;
}
/**
* 根据结果集在制定路径创建xml
* @param lists 它的子List中第一个为部门名称且不能为空,后面全为小组名称且可以为空,
* 类似于:“部门名称,小组名称,小组名称...”
* @param pathName 路径名,包括文件的名称和格式,如:"C:\\abc.xml",不能为空
* @return
*/
public void createXml(ArrayList<ArrayList<String>> lists,String pathName)
{
writeXml(list2Document(lists), pathName);
}
/**
* 在制定路径读取xml文件
* @param pathName 路径名,包括文件的名称和格式,如:"C:\\abc.xml",不能为空
* @return Document,返回为空则是路径不存在
*/
public Document readXml(String pathName)
{
if(isRigthPathName(pathName))
{
Document document = null;
SAXReader reader = new SAXReader();
try
{
document = reader.read(pathName);
}
catch (DocumentException e)
{
e.printStackTrace();
return null;
}
return document;
}
else
{
return null;
}
}
/**
* 供读取的xml类似于:
* <公司>
<部门 name="2012">
<小组 name="java"/>
<小组 name="c++"/>
</部门>
<部门 name="闲置"/>
</公司>
* 分解Document对象,返回List结果集
* @param document Document对象,不能为空
* @return ArrayList<ArrayList<String>>
*/
@SuppressWarnings("unchecked")
public ArrayList<ArrayList<String>> docum2List(Document document)
{
if(document == null)
{
return null;
}
ArrayList<ArrayList<String>> lists = new ArrayList<ArrayList<String>>();
Element root = document.getRootElement();
List<Element> deptElements = root.elements();
//遍历部门节点
for (Element element : deptElements)
{
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add(element.attributeValue("name"));
List<Element> groupElements = element.elements();
//遍历小组节点
for (Element element2 : groupElements)
{
arrayList.add(element2.attributeValue("name"));
}
lists.add(arrayList);
}
return lists;
}
/**
* 将xml文件转换成List
* @param pathName 路径名,包括文件的名称和格式,如:"C:\\abc.xml",不能为空
* @return ArrayList<ArrayList<String>>
*/
public ArrayList<ArrayList<String>> xml2List(String pathName)
{
return docum2List(readXml(pathName));
}
/**
* 根据参数修改xml并解析更新后的xml
* @param deptAttriValue 部门名称,不能为空
* @param groupAttriValue 小组名称,如果为空则对部门操作,不为空则对小组进行操作
* @param newName 要更新的部门或者小组的新名称
* @return ArrayList<ArrayList<String>> 更新后的结果集
* @deprecated 逻辑不清晰
*/
public ArrayList<ArrayList<String>> modifyXml(String deptAttriValue,String groupAttriValue,String newValue,String pathName)
{
SAXReader reader = null;
Document document = null;
Element root = null;
Element deptElement = null;
deptAttriValue = deptAttriValue.trim();
groupAttriValue = groupAttriValue.trim();
newValue = newValue.trim();
//如果小组名字或者部门名字不为空,则创建SAXReader、Document等对象
if((!"".equals(groupAttriValue)) || (!"".equals(deptAttriValue)))
{
reader = new SAXReader();
try
{
if(isRigthPathName(pathName))
{
document = reader.read(pathName);
}
else
{
return null;
}
}
catch (DocumentException e)
{
e.printStackTrace();
}
root = document.getRootElement();
deptElement = root.element(deptAttriValue);
}
//如果小组名字不为空,则进入小组的操作
if(!"".equals(groupAttriValue))
{
Element groupElement = deptElement.element(groupAttriValue);
//如果newName不为空则为更新操作
if(!"".equals(newValue))
{
Attribute attribute = groupElement.attribute("name");
attribute.setText(newValue);
}
//如果newName为空则是删除操作
else
{
deptElement.remove(deptElement.element(groupAttriValue));
//String sql = "delete from t_dep where depname = '"+;
}
return docum2List(readXml(pathName));
}
//如果小组名字为空,部门名字不为空,则进入对部门的操作
else if(!"".equals(deptAttriValue))
{
//如果newName不为空则是更新操作
if(!"".equals(newValue))
{
Attribute attribute = deptElement.attribute("name");
attribute.setText(newValue);
}
//如果newName 为空则是删除操作
else
{
root.remove(root.element(deptAttriValue));
}
return docum2List(readXml(pathName));
}
else
{
return null;
}
}
/**
* 根据部门属性获得部门节点
* @param document
* @param deptAttrriValue 部门name属性值
* @return Element
*/
@SuppressWarnings("unchecked")
public Element getDeptElementByAttr(Document document,String deptAttrriValue)
{
if(document!=null)
{
Element root = document.getRootElement();
List<Element> list = root.elements();
//遍历部门节点,查找部门name属性值为deptAttrriName的部门节点
for (Element deptElement : list)
{
if(deptElement.attributeValue("name").equals(deptAttrriValue))
{
return deptElement;
}
}
}
return null;
}
/**
* 根据部门属性名和部门下面的小组属性名来获得小组节点
* @param document
* @param deptAttriValue 部门name属性值
* @param groupAttriValue 小组name属性值
* @return Element
*/
@SuppressWarnings("unchecked")
public Element getGroupElementByAttr(Document document,String deptAttriValue,String groupAttriValue)
{
Element root = null;
if(document!=null)
{
root = document.getRootElement();
}
else
{
return null;
}
List<Element> deptElemets = root.elements();
deptAttriValue = deptAttriValue.trim();
groupAttriValue = groupAttriValue.trim();
//遍历所有部门下面的小组节点,查找小组name属性值为groupAttriName的小组节点
for (Element deptElement : deptElemets)
{
if(deptElement.attributeValue("name").equals(deptAttriValue))
{
List<Element> groupElements = deptElement.elements();
for (Element groupElement : groupElements)
{
if(groupElement.attributeValue("name").equals(groupAttriValue))
{
return groupElement;
}
}
return deptElement;
}
}
return null;
}
/**
* 更新xml文件的部门属性值
* @param deptAttriValue 部门name属性值
* @param newValue 新的部门name属性值
* @param pathName 路径名,包括文件的名称和格式,如:"C:\\abc.xml",不能为空
* @return ArrayList<ArrayList<String>>
*/
public ArrayList<ArrayList<String>> updateDept(String deptAttriValue , String newValue ,String pathName)
{
Document document = readXml(pathName);
if(document == null)
{
return null;
}
deptAttriValue = deptAttriValue.trim();
newValue = newValue.trim();
Element element = getDeptElementByAttr(document, deptAttriValue);
if(element == null)
{
return null;
}
element.attribute("name").setText(newValue);
writeXml(document, pathName);
return docum2List(document);
}
/**
* 根据部门name属性值删除部门节点
* @param deptAttriValue 部门name属性值
* @param pathName 路径名,包括文件的名称和格式,如:"C:\\abc.xml",不能为空
* @return ArrayList<ArrayList<String>>
*/
public ArrayList<ArrayList<String>> deleteDept(String deptAttriValue ,String pathName)
{
Document document = readXml(pathName);
if(document == null)
{
return null;
}
deptAttriValue = deptAttriValue.trim();
Element element = getDeptElementByAttr(document, deptAttriValue);
if(element == null)
{
return null;
}
document.getRootElement().remove(element);
writeXml(document, pathName);
return docum2List(document);
}
/**
* 根据部门name属性值更新它下面的小组name属性值
* @param deptAttriValue 部门name属性值
* @param groupAttriValue 小组name属性值
* @param newValue 新的小组name属性值
* @param pathName 路径名,包括文件的名称和格式,如:"C:\\abc.xml",不能为空
* @return ArrayList<ArrayList<String>>
*/
@SuppressWarnings("unchecked")
public ArrayList<ArrayList<String>> updateGroup(String deptAttriValue ,String groupAttriValue, String newValue ,String pathName)
{
Document document = readXml(pathName);
if(document == null)
{
return null;
}
deptAttriValue = deptAttriValue.trim();
groupAttriValue = groupAttriValue.trim();
newValue = newValue.trim();
Element element = getGroupElementByAttr(document, deptAttriValue, groupAttriValue);
if(element == null)
{
return null;
}
element.attribute("name").setText(newValue);
writeXml(document, pathName);
return docum2List(document);
}
/**
* 删除部门下面的小组
* @param deptAttriValue 部门name属性值
* @param groupAttriValue 小组name属性值
* @param pathName 路径名,包括文件的名称和格式,如:"C:\\abc.xml",不能为空
* @return ArrayList<ArrayList<String>>
*/
public ArrayList<ArrayList<String>> deleteGroup(String deptAttriValue, String groupAttriValue, String pathName)
{
Document document = readXml(pathName);
if(document == null)
{
return null;
}
deptAttriValue = deptAttriValue.trim();
groupAttriValue = groupAttriValue.trim();
Element element = getGroupElementByAttr(document, deptAttriValue, groupAttriValue);
if(element == null)
{
return null;
}
element.getParent().remove(element);
writeXml(document, pathName);
return docum2List(document);
}
/**
* 增加部门或小组
* 参数规范:没有增加的,则参数写为空或null
* @param newdeptname新部门名称
* @param deptname增加小组所在部门名称
* @param newgroupname新小组名称
* @return
*/
@SuppressWarnings("unchecked")
public ArrayList<ArrayList<String>> addNode(String newDeptValue,String deptValue,String newGroupValue,String pathName)
{
Document document = readXml(pathName);
if(document == null)
{
return null;
}
newDeptValue = newDeptValue.trim();
deptValue = deptValue.trim();
newGroupValue = newGroupValue.trim();
Element root = document.getRootElement();
//若deptname为空,则增加部门
if("".equals(deptValue) || (deptValue == null))
{
Element element = root.addElement("部门");
element.addAttribute("name", newDeptValue);
}
//若deptname不为空,则遍历节点,查找所在deptname部门增加小组newgroupname
else
{
for(Iterator<Element> it = root.elementIterator();it.hasNext();)
{
Element e = (Element)it.next();
String attr = e.attributeValue("name");
if(attr.equals(deptValue))
{
Element e2 = e.addElement("小组");
e2.addAttribute("name", newGroupValue);
}
}
}
writeXml(document, pathName);
return docum2List(document);
}
/**
* 判断所增加的部门或小组是否已存在,若存在则返回false
* @param newDeptValue
* @param deptValue
* @param newGroupValue
* @param pathName
* @return
*/
@SuppressWarnings("unchecked")
public boolean isNewNode(String newDeptValue,String deptValue,String newGroupValue,String pathName)
{
boolean flag = true;
Document document = null;
newDeptValue = newDeptValue.trim();
deptValue = deptValue.trim();
newGroupValue = newGroupValue.trim();
document = readXml(pathName);
if(document == null )
{
return false;
}
Element root = document.getRootElement();
//若deptname为空,则增加部门,判断是否已存在newdeptname该部门
if("".equals(deptValue) || deptValue == null)
{
for(Iterator<Element> it = root.elementIterator();it.hasNext();)
{
Element e = (Element)it.next();
String attr = e.attributeValue("name");
if(attr.equals(newDeptValue))
{
flag = false;
}
}
}
//若deptname不为空,则增加现在,遍历节点,查找所在deptname部门是否已存在小组newgroupname
else
{
for(Iterator<Element> it = root.elementIterator();it.hasNext();)
{
Element e = (Element)it.next();
String attr = e.attributeValue("name");
if(attr.equals(deptValue))
{
for(Iterator<Element> at = e.elementIterator();at.hasNext();){
Element e2 = at.next();
if(e2.attributeValue("name").equals(newGroupValue))
{
flag = false;
}
}
}
}
}
return flag;
}
}
package util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
/*对 excle进行读写操作
*写方法writeExcle()把传过来的二维数组的类容进行遍历,然后写到excle中
* 读方法readExcle()把exlce中的类容放入二维数组中
* */
public class RwExcel
{
/*把传过来的二维数组进行遍历,然后写入excle中
* @param ArrayList<Emp>
* */
public void writeExcle(String[][] str,File file)
{
WritableWorkbook wwb = null;
Label label;
try
{
wwb = Workbook.createWorkbook(file);
WritableSheet ws = wwb.createSheet("sheet1",0);
for (int i = 0; i < str.length; i++)
{
for (int j = 0; j < str[0].length; j++)
{
label = new Label(j, i, str[i][j]);
ws.addCell(label);
}
}
wwb.write();
}
catch (IndexOutOfBoundsException e1)
{
e1.printStackTrace();
}
catch (IOException e1)
{
e1.printStackTrace();
}
catch (RowsExceededException e)
{
e.printStackTrace();
}
catch (WriteException e)
{
e.printStackTrace();
}
finally
{
try
{
wwb.close();
}
catch (WriteException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
/*把excle中的类容进行遍历放入二维数组中
*
* @return ArrayList<Emp>
* */
@SuppressWarnings("null")
public String[][] readExcle(File file)
{
String[][] str = null;
try
{
Workbook wb = Workbook.getWorkbook(file);
Sheet st = wb.getSheet(0);
str = new String[st.getRows()][st.getColumns()];
for(int i = 0; i < st.getRows(); i++)
{
for (int j = 0; j < st.getColumns(); j++)
{
str[i][j] = st.getCell(j,i).getContents();
}
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (BiffException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return str;
}
}
gg.xml
<?xml version="1.0" encoding="utf-8"?>
<中软国际科技服务有限公司>
<部门 name="2012实验室">
<小组 name="java"/>
<小组 name="c++"/>
</部门>
<部门 name="核心网">
<小组 name="java"/>
</部门>
<部门 name="网络">
<小组 name="java"/>
</部门>
<部门 name="IT">
<小组 name="java"/>
</部门>
<部门 name="无线">
<小组 name="java"/>
</部门>
</中软国际科技服务有限公司>
help
1.您认为可能收到过仿冒软件吗?请向 Microsoft 报告。
2.获取更安全购物的提示或直接从 Microsoft 购买。
3.确保您拥有 Microsoft 产品的正确许可。
4.确保您拥有 Microsoft 产品的正确许可。