以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Java/Eclipse 』  (http://bbs.xml.org.cn/list.asp?boardid=41)
----  [求助]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=46480)


--  作者: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)


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms