-- 作者:woodstreet
-- 发布时间:5/6/2007 1:26:00 PM
-- [求助]
package my.cn; import java.sql.ResultSet; import java.sql.SQLException; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.grouplayout.GroupLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class dia extends Dialog { li myMain; ResultSet rs; //定义结果集 private DBManager db =new DBManager();//定义数据库操作对象 //private tt db =new tt();//定义数据库操作对象 private Text mima; private Text yonghuming; String yonghu; String mim; /** * Create the dialog * @param parentShell */ public dia(Shell parentShell) { super(parentShell); } /** * Create contents of the dialog * @param parent */ @Override protected Control createDialogArea(Composite parent) { Composite container = (Composite) super.createDialogArea(parent); Label label; label = new Label(container, SWT.NONE); label.setText("姓名"); yonghuming = new Text(container, SWT.BORDER); Label label_1; label_1 = new Label(container, SWT.NONE); label_1.setText("密码"); mima = new Text(container, SWT.PASSWORD | SWT.BORDER); final GroupLayout groupLayout = new GroupLayout(container); groupLayout.setHorizontalGroup( groupLayout.createParallelGroup(GroupLayout.LEADING) .add(groupLayout.createSequentialGroup() .add(88, 88, 88) .add(groupLayout.createParallelGroup(GroupLayout.LEADING) .add(label, GroupLayout.PREFERRED_SIZE, 50, GroupLayout.PREFERRED_SIZE) .add(label_1)) .add(66, 66, 66) .add(groupLayout.createParallelGroup(GroupLayout.LEADING) .add(mima, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE) .add(yonghuming, GroupLayout.PREFERRED_SIZE, 80, GroupLayout.PREFERRED_SIZE)) .addContainerGap(103, Short.MAX_VALUE)) ); groupLayout.setVerticalGroup( groupLayout.createParallelGroup(GroupLayout.LEADING) .add(groupLayout.createSequentialGroup() .add(45, 45, 45) .add(groupLayout.createParallelGroup(GroupLayout.BASELINE) .add(label, GroupLayout.PREFERRED_SIZE, 22, Short.MAX_VALUE) .add(yonghuming, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) .add(37, 37, 37) .add(groupLayout.createParallelGroup(GroupLayout.BASELINE) .add(label_1) .add(mima, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)) .add(142, 142, 142)) ); container.setLayout(groupLayout); // return container; } /** * Create contents of the button bar * @param parent */ @Override protected void createButtonsForButtonBar(Composite parent) { createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false); } /** * Return the initial size of the dialog */ @Override /**protected Point getInitialSize() { return new Point(395, 339); }**/ protected void buttonPressed(int buttonId) { yonghu=yonghuming.getText(); mim=mima.getText(); if (buttonId == IDialogConstants.CANCEL_ID) { close(); //return; } if (buttonId == IDialogConstants.OK_ID) { if(yonghu.trim() ==""){ MessageDialog.openInformation(getShell(), "", "用户名不能为空!;"); yonghuming.setFocus(); return; } if(mim.trim() ==""){ MessageDialog.openInformation(getShell(), "", "密码不能为空!;"); yonghuming.setFocus(); return; } String strSQL ; strSQL="select * from user where Username='"+yonghuming.getText().trim() +"' and password='"+mima.getText().trim()+"'"; rs=db.getResult(strSQL) ; boolean isexist =false; try{ isexist=rs.first(); }catch(SQLException ex1){ } if(!isexist) {MessageDialog.openInformation(getShell(), "", "用户名不存在或密码不正确!"); yonghuming.setFocus(); myMain.setEnable("else"); return; } else{ try{ rs.first(); myMain.setEnable(rs.getString("Power").trim()); //System.out.println(rs.getString("ID")+"\t"+rs.getString("Username")+"\t"+rs.getString("Power")); close(); }catch(SQLException ex){ } } super.buttonPressed(buttonId); } } } 运行时出现以下结果 java.lang.NullPointerException at my.cn.dia.buttonPressed(dia.java:146) at org.eclipse.jface.dialogs.Dialog$3.widgetSelected(Dialog.java:660) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968) at org.eclipse.jface.window.Window.runEventLoop(Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at my.cn.li.yonghudenglu_ActionPerformed(li.java:210) at my.cn.li$yonghudenglu_selectListener.widgetSelected(li.java:282) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968) at my.cn.li.main(li.java:161)
|