`
lw223
  • 浏览: 99353 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SWT/Jface学习笔记3(登录框)

阅读更多

下面是我做的一个登录框的小程序,当输入用户名(123)和密码(123)的时候会跳转到一个界面,用户名和密码错误的话会弹出一个提示对话框。

开发环境:eclipse3.1 插件SWT-Designer。

程序还有很多不完善的地方,请大家多多指正。

本来想把截图一起放在上面,可是不知道为什么图片贴不上来,谁能告诉我“编辑插入图像具体“怎么用啊,为什么我上传的图都是红XX

本来想把截图一起放在上面,可是不知道为什么图片贴不上来,谁能告诉我“编辑插入图像具体“怎么用啊,为什么我上传的图都是红XX,在这里先谢谢拉o(∩_∩)o...。

登陆框LoginSwt.java的代码:

import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseTrackAdapter;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

public class LoginSwt ...{

    
public static void main(String[] args) ...{
        Display display 
= Display.getDefault();
        
final Shell shell = new Shell(display,SWT.CLOSE|SWT.SYSTEM_MODAL);
        
//shell.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
        shell.setSize(357218);
        shell.setText(
"SWT Application");
    
        shell.open();

        
final Label label = new Label(shell, SWT.NONE);
        
//label.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND));
        
//label.setAlignment(SWT.CENTER);
        label.setText("登陆名:");
        label.setBounds(
68475119);

        
final Label label_1 = new Label(shell, SWT.NONE);
        
//label_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND));
        
//label_1.setAlignment(SWT.CENTER);
        label_1.setText("密     码:");
        label_1.setBounds(
68725116);

        
final Text name = new Text(shell, SWT.BORDER);
        name.setBounds(
1364413120);

        
final Text password = new Text(shell, SWT.PASSWORD | SWT.BORDER);
        password.setBounds(
1366913119);

        Button button 
= new Button(shell, SWT.NONE);
        button.setText(
"登陆");
        button.setBounds(
1051264025);
        button.addSelectionListener(
new SelectionAdapter() ...{
            
public void widgetSelected(SelectionEvent arg0) ...{
                
if(name.getText().equals("123")&&password.getText().equals("123"))...{
                    
try...{
                        ChildShell window 
= new ChildShell();
                        window.open();
                        }
catch (Exception e) ...{
                            e.printStackTrace();
                        }

                }
else...{
                    MessageDialog.openWarning(shell,
null,  "用户名或密码错误");
                }

                    
            }

        }
);
        
//button.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
        button.addMouseListener(new MouseAdapter() ...{
            
public void mouseDoubleClick(MouseEvent arg0) ...{
                name.setText(
"鼠标双击事件");
            }

        }
);
        

        Button button_1 
= new Button(shell, SWT.NONE);
        button_1.setText(
"取消");
        button_1.setBounds(
2021274423);
        
//button_1.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
        button_1.addMouseListener(new MouseAdapter() ...{
            
public void mouseDown(MouseEvent arg0) ...{
            MessageDialog.openWarning(shell,
null,  "没有此项功能");
            }

        }
);
        

        shell.layout();
        
while (!shell.isDisposed()) ...{
            
if (!display.readAndDispatch())
                display.sleep();
        }

    }

}

恢复被注掉的代码可以显示界面和控件的颜色。

 

        button.addSelectionListener(new SelectionAdapter() ...{
            
public void widgetSelected(SelectionEvent arg0) ...{
                
if(name.getText().equals("123")&&password.getText().equals("123"))...{
                    
try...{
                        ChildShell window 
= new ChildShell();
                        window.open();
                        }
catch (Exception e) ...{
                            e.printStackTrace();
                        }

                }
else...{
                    MessageDialog.openWarning(shell,
null,  "用户名或密码错误");
                }

                    
            }

        }
);

这段代码是给“登录”按钮添加一个事件,if(name.getText().equals("123")&&password.getText().equals("123"))

是建立用户名和密码是123,并判断,如果输入的用户名和密码都是123,则跳转到try里面内容所指向的界面及ChildShell.java,如果错误则弹出一个Dialog,显示"用户名或密码错误"。

ChildShell.java的代码:

 

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;

public class ChildShell ...{

    
public static void main(String[] args) ...{
        
try ...{
            ChildShell window 
= new ChildShell();
            window.open();
        }
 catch (Exception e) ...{
            e.printStackTrace();
        }

    }


    
/** *//**
     * Open the window
     
*/

    
public void open() ...{
        
final Display display = Display.getDefault();
        
final Shell shell = new Shell();
        shell.setSize(
500375);
        shell.setText(
"SWT Application");
        

        shell.open();
分享到:
评论
1 楼 ktzhxm 2012-05-07  
多谢分享,对初学者的我有帮助。登陆后弹出新的窗口,怎么把原来的登陆界面给关闭了?

相关推荐

    SWT和JFACE学习笔记

    学习 SWT 和 JFace 对于理解 Eclipse 平台开发和 GUI 编程至关重要。它们提供的组件丰富且功能强大,能帮助开发者快速构建跨平台的应用程序。在实际开发中,结合使用 SWT 和 JFace 可以平衡性能和易用性,提高开发...

    Eclipse SWT/JFacekfszj_jb51

    这些文件可能是资源链接或笔记,jb51.net是一个提供各种编程资源和教程的网站,"电子书大全.url"可能指向一个电子书集合的网页,"PDF阅读器下载.url"可能是推荐的PDF阅读器下载链接,"脚本之家.url"可能是另一个编程...

    swt,jface笔记

    在"swt,jface笔记"这个压缩包中,可能包含了关于这两项技术的学习笔记、示例代码、教程等资料。通过深入学习和实践这些材料,你可以更好地理解和掌握SWT和JFace的使用,从而提高开发Java桌面应用的能力。

    SWT控件知识学习笔记

    ### SWT控件知识学习笔记 #### 一、SWT/JFace常用组件介绍 SWT (Standard Widget Toolkit) 是 Eclipse 平台的一个图形界面工具包,它提供了与平台无关的 GUI 组件,允许开发者构建高性能的应用程序。SWT/JFace ...

    Eclipse插件开发学习笔记 第一篇 开发基础 (第一章到第八章)

    本书的主要内容是介绍Eclipse插件开发的相关知识和技巧,包括Eclipse的系统结构、SWT/JFace技术、插件开发方法、RCP开发方法以及其他一些相关的技术专题。本书覆盖了Eclipse平台技术的核心领域,是目前市场上讲述...

    swt学习笔记摘录(入门程序)

    SWT(Standard Widget Toolkit)是Java中用于构建图形用户界面(GUI)的一种库,与AWT和Swing不同,SWT直接与操作系统底层交互,提供更原生的...通过学习和掌握SWT,开发者可以创建出与本地应用相媲美的Java应用程序。

    Eclipse插件开发学习笔记.txt

    SWT/JFace的事件处理,swt,eclipse插件开发学习笔记

    Eclipse插件开发学习笔记 第三篇 高级进阶 (第十九章到第二十二章)

    本书的主要内容是介绍Eclipse插件开发的相关知识和技巧,包括Eclipse的系统结构、SWT/JFace技术、插件开发方法、RCP开发方法以及其他一些相关的技术专题。本书覆盖了Eclipse平台技术的核心领域,是目前市场上讲述...

    Eclipse插件开发学习笔记 第二篇 核心技术 (第九章到第十三章)

    本书的主要内容是介绍Eclipse插件开发的相关知识和技巧,包括Eclipse的系统结构、SWT/JFace技术、插件开发方法、RCP开发方法以及其他一些相关的技术专题。本书覆盖了Eclipse平台技术的核心领域,是目前市场上讲述...

    Eclipse插件开发学习笔记 第二篇 核心技术 (第十四章到第十八章)

    本书的主要内容是介绍Eclipse插件开发的相关知识和技巧,包括Eclipse的系统结构、SWT/JFace技术、插件开发方法、RCP开发方法以及其他一些相关的技术专题。本书覆盖了Eclipse平台技术的核心领域,是目前市场上讲述...

    Eclipse插件开发学习笔记1-8章

    以下是对Eclipse插件开发学习笔记1-8章的主要知识点的详细说明: 1. **Eclipse平台简介** (03第1章 Eclipse平台简介.pdf) - Eclipse平台是基于OSGi服务框架的,它提供了插件化的架构,使得开发者可以轻松地添加、...

    Eclipse插件开发笔记—PDF—带目录

    第3章 SWT编程基础 第4章 使用基本控件与对话框 第5章 容器与布局管理器 第6章 界面开发工具 第7章 高级控件使用 第8章 SWT/Jface的事件处理 第二篇 核心技术 第9章 Eclipse插件体系结构 第10章 开发 第一个插件...

    学习SWT,RCP的笔记.doc

    JFace是建立在SWT基础上的一套更高层次的UI库,它主要关注于应用程序的高级功能,如视图管理、模型视图控制器(MVC)架构的支持等。通过JFace,开发者可以更容易地构建复杂的用户界面。 ### 四、SWT组件常用方法详解 ...

    Eclipse插件开发学习笔记(ch0-3)

    本学习笔记主要涵盖了Eclipse插件开发的基础知识,旨在帮助初学者掌握如何利用Eclipse平台进行插件开发。 首先,我们需要理解Eclipse平台的核心架构。【1第1章 Eclipse平台简介.pdf】会详细讲解,Eclipse基于OSGI...

    Eclipse插件开发学习笔记1-5章

    本学习笔记涵盖了Eclipse插件开发的前五章内容,旨在帮助开发者深入理解和掌握如何构建自己的Eclipse插件。 第1章:Eclipse平台简介 在这一章节中,我们首先会了解到Eclipse平台的基本架构,包括Workbench、...

    Eclipse插件开发学习笔记6-11章

    这本学习笔记涵盖了从第6章到第11章的关键内容,旨在为初学者提供一个扎实的入门指南。 第6章 "界面开发工具"介绍了Eclipse中的SWT和JFace库,它们是构建用户界面的基础。SWT(Standard Widget Toolkit)是Eclipse...

    eclipse插件开发学习笔记

    - JFace建立在SWT之上,提供了更高级别的抽象,使得开发者可以更轻松地创建复杂的用户界面。JFace特别强调数据模型和视图之间的分离,这使得界面设计变得更加灵活。 **1.3 插件技术和OSGi** - Eclipse的核心架构之...

    Java学习笔记 JDK Eclipse Web JSP 等

    在"Java学习笔记"中,我们涵盖了多个重要的Java技术领域,包括JDK的安装、Eclipse集成开发环境的设置、SWT和JFace库的应用,以及Web和JSP的相关知识。 1. **JDK安装**:Java Development Kit (JDK) 是编写Java程序...

    Eclipse插件开发学习笔记(ch8-10)

    本学习笔记主要涵盖了Eclipse插件开发的核心技术和实际操作,通过深入理解这些章节,初学者可以逐步掌握Eclipse插件开发的基础。 首先,我们来看第8章"SWT/JFace的事件处理"。SWT(Standard Widget Toolkit)和...

    swt开发的笔记

    通过学习这些笔记,开发者可以深入了解如何使用SWT创建高效、原生感的用户界面,以及如何与其他Eclipse相关技术如JFace和RCP协同工作。对于想要提升Java GUI编程能力,特别是希望在Eclipse平台上开发桌面应用的...

Global site tag (gtag.js) - Google Analytics