📄 securitytreeview.java
字号:
package com.hnjchina.securityView;
import java.io.IOException;
import java.sql.*;
import java.util.StringTokenizer;
import java.util.Vector;
import org.eclipse.jface.preference.PreferenceStore;
import org.eclipse.swt.*;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.events.ControlListener;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseTrackListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.events.TraverseEvent;
import org.eclipse.swt.events.TraverseListener;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.part.ViewPart;
public class SecurityTreeView extends ViewPart{
public Tree tree;
public TreeItem itemgroup;
public Group leftgroup,rightgroup,topgroup,bottomgroup;
public Text usertext,destext,pritext,islocktext;
public Combo usertypecombo;
public Table table;
public Vector vectorgroup=new Vector();
public Vector vectoruserid=new Vector();
public Logon logon=new Logon();
public String CS_TOKEN="/",CS_TODO="@";
public void openTabItem(TabFolder tabfolder){
Composite composite = new Composite(tabfolder,SWT.NONE);
composite.setLayout(new FillLayout());
TabItem sectree=new TabItem(tabfolder,SWT.NONE);
sectree.setText("SecurityTree");
sectree.setControl(composite);
createtree(composite);
createtext(composite);
creategroup(composite);
}
public void createtree(Composite composite){
String ls_username="";
// Properties properties=new Properties();
// try{
// properties.load(new FileInputStream("F:\\Java\\eclipse\\workspace\\RCP\\src\\com\\hnjchina\\securityView\\language.Properties"));
// }catch (IOException e){
// }
// ls_username=properties.getProperty("users.name");
// System.out.println("username = "+ls_username);
// ls_username=properties.getProperty("users.password");
// System.out.println("users.password = "+ls_username);
// ls_username=properties.getProperty("database.sever");
// System.out.println("database.sever = "+ls_username);
PreferenceStore preferenceStore = new PreferenceStore("F:\\Java\\eclipse\\workspace\\RCP\\src\\com\\hnjchina\\securityView\\language.Properties");
try {
preferenceStore.load();
} catch (IOException e1) {
e1.printStackTrace();
}
ls_username=preferenceStore.getString("users.name");
System.out.println("username = "+ls_username);
leftgroup=new Group(composite,SWT.PUSH);
leftgroup.setText("left");
leftgroup.setLayout(new FillLayout());
tree=new Tree(leftgroup,SWT.BORDER|SWT.CHECK);
tree.setLayout(new FillLayout());
tree.addSelectionListener(new SelectionListener(){
public void widgetSelected(SelectionEvent arg0) {
TreeItem[] treeitem=tree.getSelection();
String ls_data= null;
if (!(treeitem[0].getParentItem()==null)){
ls_data=treeitem[0].getData().toString();
StringTokenizer token=new StringTokenizer(ls_data,CS_TOKEN);
String ls_userid=""+token.nextToken();
usertext.setText(token.nextToken());
destext.setText(token.nextToken());
pritext.setText(token.nextToken());
islocktext.setText(token.nextToken());
String ls_group;
if (!token.hasMoreTokens()){
ls_group=retrievegroup(ls_userid);
ls_data=ls_data+CS_TOKEN+ls_group;
treeitem[0].setData(ls_data);
}else{
ls_group=token.nextToken();
System.out.println(ls_group);
}
setgroup(ls_group);
topgroup.setVisible(true);
bottomgroup.setVisible(true);
}else{
topgroup.setVisible(false);
bottomgroup.setVisible(false);
ls_data=treeitem[0].getData().toString();
if ((treeitem[0].getItems().length)<=0){
retrieveuser(treeitem[0],Integer.parseInt(ls_data));
}
}
}
public void widgetDefaultSelected(SelectionEvent arg) {
}
});
rightgroup=new Group(composite,SWT.NONE);
rightgroup.setText("right");
rightgroup.setLayout(new GridLayout(1,true));
GridData gridData = new GridData (GridData.FILL_BOTH);
gridData.grabExcessVerticalSpace=false;
topgroup=new Group(rightgroup,SWT.NONE);
topgroup.setLayoutData(gridData);
topgroup.setText("top");
topgroup.setLayout(new GridLayout(6,true));
gridData = new GridData (GridData.FILL_BOTH);
bottomgroup=new Group(rightgroup,SWT.NONE);
bottomgroup.setLayoutData(gridData);
bottomgroup.setText("bottom");
bottomgroup.setLayout(new FillLayout());
createtreeitem();
}
public void createtreeitem(){
// Image imagegroup;
// ImageData sourcegroup;
// ImageData maskgroup;
// sourcegroup=new ImageData("group.ico");
// maskgroup =sourcegroup.getTransparencyMask();
// imagegroup=new Image(null,sourcegroup,maskgroup);
String ls_des="";
String ls_data="";
int li_userid;
ResultSet resultSet=logon.exesql("select distinct description,b.userid " +
"from security_groupings a,security_users b " +
"where a.grpid=b.userid");
if (resultSet!=null){
try {
while (resultSet.next()){
itemgroup=new TreeItem(tree,SWT.NONE);
ls_des=resultSet.getString("description");
li_userid=resultSet.getInt("userid");
itemgroup.setData(""+li_userid);
// try {
// ls_des =new String(ls_des.getBytes("ISO-8859-1"));
// } catch (UnsupportedEncodingException e1) {
// e1.printStackTrace();
// }
// itemgroup.setImage(imagegroup);
itemgroup.setText(ls_des);
vectorgroup.addElement(ls_des);
vectoruserid.addElement(""+li_userid);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public void createtext(Composite composite){
GridData gridData = new GridData (GridData.FILL_BOTH);
gridData.horizontalSpan=2;
Composite comleft=new Composite(topgroup,SWT.BORDER);
comleft.setLayoutData(gridData);
comleft.setLayout(new FillLayout(SWT.VERTICAL));
gridData = new GridData (GridData.FILL_BOTH);
gridData.horizontalSpan=4;
Composite comright=new Composite(topgroup,SWT.BORDER);
comright.setLayoutData(gridData);
comright.setLayout(new FillLayout(SWT.VERTICAL));
Label lable=new Label(comleft,SWT.BORDER);
lable.setText("username:");
lable=new Label(comleft,SWT.BORDER);
lable.setText("description:");
lable=new Label(comleft,SWT.BORDER);
lable.setText("priority:");
lable=new Label(comleft,SWT.BORDER);
lable.setText("users type:");
lable=new Label(comleft,SWT.BORDER);
lable.setText("is lock:");
usertext=new Text(comright,SWT.SINGLE|SWT.BORDER);
usertext.addModifyListener(new ModifyListener(){
public void modifyText(ModifyEvent e) {
System.out.println("ModifyEvent: "+e.toString());
}
});
destext=new Text(comright,SWT.SINGLE|SWT.BORDER);
pritext=new Text(comright,SWT.SINGLE|SWT.BORDER);
Combo usertypecombo=new Combo(comright,SWT.DROP_DOWN|SWT.READ_ONLY);
usertypecombo.add("users");
usertypecombo.add("group");
usertypecombo.setText("users");
islocktext=new Text(comright,SWT.SINGLE|SWT.BORDER);
}
public void creategroup(Composite composite){
table=new Table(bottomgroup,SWT.SINGLE|SWT.H_SCROLL|SWT.V_SCROLL|SWT.BORDER|SWT.CHECK);
TableColumn column=new TableColumn(table,SWT.LEFT_TO_RIGHT);
column.setWidth(350);
table.setLinesVisible(true);
Rectangle rectangle=new Rectangle(0, 0, 0, 0);
table.setBounds(rectangle);
for (int i=0;i<vectorgroup.size();i++){
TableItem tableitem=new TableItem(table,SWT.NONE);
tableitem.setText(""+vectorgroup.elementAt(i));
tableitem.setData(""+vectoruserid.elementAt(i));
}
table.addSelectionListener(new SelectionListener(){
public void widgetSelected(SelectionEvent arg0) {
System.out.println("widgetSelected");
}
public void widgetDefaultSelected(SelectionEvent arg0) {
System.out.println("widgetDefaultSelected");
}
});
table.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent arg0) {
System.out.println("keyPressed");
}
public void keyReleased(KeyEvent arg0) {
System.out.println("keyReleased ");
}
});
table.addPaintListener(new PaintListener(){
public void paintControl(PaintEvent arg0) {
System.out.println("paintControl");
}});
table.addTraverseListener(new TraverseListener(){
public void keyTraversed(TraverseEvent arg0) {
System.out.println("keyTraversed");
}});
table.addMouseTrackListener(new MouseTrackListener(){
public void mouseEnter(MouseEvent arg0) {
System.out.println("mouseEnter");
}
public void mouseExit(MouseEvent arg0) {
System.out.println("mouseExit");
}
public void mouseHover(MouseEvent arg0) {
System.out.println("mouseHover");
}});
table.addControlListener(new ControlListener(){
public void controlMoved(ControlEvent arg0) {
System.out.println("controlMoved");
}
public void controlResized(ControlEvent arg0) {
System.out.println("controlResized");
}});
}
public void retrieveuser(TreeItem item,int li_userid){
// Image imageusers;
// ImageData sourceusers,maskusers;
// sourceusers=new ImageData("users.ico");
// maskusers =sourceusers.getTransparencyMask();
// imageusers=new Image(null,sourceusers,maskusers);
TreeItem itemuser;
String ls_data,ls_des;
ResultSet result=logon.exesql("select c.userid,c.name,c.description,c.priority,c.user_type,c.status from security_groupings a,security_users b,security_users c where a.grpid=b.userid and a.userid=c.userid and a.grpid="+li_userid);
try {
while (result.next()){
itemuser=new TreeItem(item,SWT.NONE);
ls_data="";
ls_des=result.getString("description");
li_userid=result.getInt("userid");
// try {
// ls_des =new String(ls_des.getBytes("ISO-8859-1"));
// } catch (UnsupportedEncodingException e2) {
// e2.printStackTrace();
// }
ls_data=CS_TOKEN+li_userid+CS_TOKEN+result.getString("name")+CS_TOKEN+ls_des+CS_TOKEN+result.getString("priority")+CS_TOKEN+result.getString("status");
itemuser.setText(ls_des);
itemuser.setData(ls_data);
// itemuser.setImage(imageusers);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public String retrievegroup(String ls_userid){
String ls_group = "";
ResultSet result=logon.exesql("select grpid from security_groupings where userid="+ls_userid);
try {
while (result.next()){
ls_group=ls_group+CS_TODO+result.getInt("grpid");
}
} catch (SQLException e) {
e.printStackTrace();
}
return ls_group;
}
public void setgroup(String ls_group){
TableItem[] item=table.getItems();
for (int i=0;i<item.length;i++){
StringTokenizer token=new StringTokenizer(ls_group,CS_TODO);
while (token.hasMoreTokens()){
if (item[i].getData().toString().equals(token.nextToken())){
item[i].setChecked(true);
break;
}else{
item[i].setChecked(false);
}
}
}
}
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
*/
public void createPartControl(Composite parent) {
parent.setLayout(new FillLayout());
createtree(parent);
createtext(parent);
creategroup(parent);
}
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#setFocus()
*/
public void setFocus() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -