一、使用JAVA_SWT编写登陆界面(不含数据库,登陆按钮未处理)
2011-05-16 00:28
423 查看
一、为了进行SWT应用开发,你需要把SWT库添加到类路径(classpath)上,并设置必要的环境变量。
首先,安装及配置swt+design
1.1 下载并解压Designer_v6.9.5_for_Eclipse3.5.zip,把features和plugins覆盖到eclipse下同名文档,并把configuration文件夹下的除config.ini外的文件全部删除。
1.2 打开WindowBuilderKeygen.exe程序,填写正确网卡物理地址和版本号后,点击OK,得到序列号及注册码。
1.3 打开Eclipse,在主菜单下选择window=>Preferences=>Designer=>License=>Registration and Activation,输入序列号与注册后,点下一步按要求填写完成(Name中间有空格),最后OK(如下图)。
1.4 取消Automatically activate when possible选项。
然后。你要在ECLIPSE_HOM=》Eeclipse=》plugins文件夹下找到org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar库文件。注意这里的“org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar”是和Eclipse的版本有关的。实在找不到你就用文件搜索功能吧。然后依次打开下面窗口Project-〉Properies-〉JavaBuildPath-〉Libraries-〉Add Variable -〉 Eclipse Home -〉Extend将org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar文件加到类路径中。
二、拖拉控件,输入代码(界面如下)
功能说明:
1、限制文本框只能输入小写字母和数字
2、限制文本框字符个数为8位
3、实现退出按钮功能
4、禁止拖动,修改界面大小
5、实现CANVAS控件内图片按比例缩放显示并响应鼠标释放事件
首先,安装及配置swt+design
1.1 下载并解压Designer_v6.9.5_for_Eclipse3.5.zip,把features和plugins覆盖到eclipse下同名文档,并把configuration文件夹下的除config.ini外的文件全部删除。
1.2 打开WindowBuilderKeygen.exe程序,填写正确网卡物理地址和版本号后,点击OK,得到序列号及注册码。
1.3 打开Eclipse,在主菜单下选择window=>Preferences=>Designer=>License=>Registration and Activation,输入序列号与注册后,点下一步按要求填写完成(Name中间有空格),最后OK(如下图)。
1.4 取消Automatically activate when possible选项。
然后。你要在ECLIPSE_HOM=》Eeclipse=》plugins文件夹下找到org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar库文件。注意这里的“org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar”是和Eclipse的版本有关的。实在找不到你就用文件搜索功能吧。然后依次打开下面窗口Project-〉Properies-〉JavaBuildPath-〉Libraries-〉Add Variable -〉 Eclipse Home -〉Extend将org.eclipse.swt.win32.win32.x86_3.3.0.v3346.jar文件加到类路径中。
二、拖拉控件,输入代码(界面如下)
功能说明:
1、限制文本框只能输入小写字母和数字
2、限制文本框字符个数为8位
3、实现退出按钮功能
4、禁止拖动,修改界面大小
5、实现CANVAS控件内图片按比例缩放显示并响应鼠标释放事件
import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseMoveListener; import org.eclipse.swt.events.PaintEvent; import org.eclipse.swt.events.PaintListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Canvas; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import com.swtdesigner.SWTResourceManager; public class test { private Text Text_password; private Text Text_account; protected Shell shell; /** * Launch the application * * @param args */ public static void main(String[] args) { try { test window = new test(); window.open(); } catch (Exception e) { e.printStackTrace(); } } /** * Open the window */ public void open() { final Display display = Display.getDefault(); createContents(); shell.open(); shell.layout(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } /** * Create contents of the window */ protected void createContents() { shell = new Shell(SWT.NO_TRIM); shell.addMouseMoveListener(new MouseMoveListener() { public void mouseMove(final MouseEvent arg0) { MessageBox mb = new MessageBox(shell, SWT.ICON_QUESTION | SWT.OK | SWT.CANCEL); mb.setText("提示"); mb.setMessage("确定要关闭吗?"); } }); shell.setSize(360, 196); // 取屏幕大小 Rectangle src_area = Display.getDefault().getClientArea(); // 使窗口居中显示 shell.setLocation((src_area.width - 360) / 2, (src_area.height - 196) / 2); // 创建"帐号"标签 final Label Lab_account = new Label(shell, SWT.CENTER); Lab_account.setAlignment(SWT.CENTER); Lab_account.setForeground(Display.getCurrent().getSystemColor( SWT.COLOR_BLACK)); Lab_account.setFont(SWTResourceManager.getFont("", 12, SWT.NONE)); Lab_account.setText("帐号:"); Lab_account.setBounds(81, 42, 48, 25); // 创建"密码"标签 final Label Lab_password = new Label(shell, SWT.CENTER); Lab_password.setBounds(80, 82, 48, 25); Lab_password.setFont(SWTResourceManager.getFont("", 12, SWT.NONE)); Lab_password.setText("密码:"); // 创建"帐号"文本框 Text_account = new Text(shell, SWT.BORDER); //限制只能输入8个字符 Text_account.setTextLimit(8); Text_account.setToolTipText("只允许输入数字以及小写字母"); // 限制输入字符 Text_account.addKeyListener(new KeyAdapter() { public void keyPressed(final KeyEvent e) { if (!CheckTextData(e.character)) e.doit = false; } }); Text_account.setFont(SWTResourceManager.getFont("", 12, SWT.NONE)); Text_account.setBounds(138, 40, 111, 25); // 创建"密码"文本框 Text_password = new Text(shell, SWT.BORDER | SWT.PASSWORD); //限制输入8个字符 Text_password.setTextLimit(8); Text_password.setToolTipText("只允许输入数字以及小写字母"); // 限制输入字符 Text_password.addKeyListener(new KeyAdapter() { public void keyPressed(final KeyEvent e) { if (!CheckTextData(e.character)) e.doit = false; } }); Text_password.setFont(SWTResourceManager.getFont("", 12, SWT.NONE)); Text_password.setBounds(138, 82, 111, 25); // 创建"登陆"按钮 final Button Btn_login = new Button(shell, SWT.NONE); //设置缺省按钮 shell.setDefaultButton(Btn_login); Btn_login.setText("登陆"); Btn_login.setBounds(105, 135, 48, 22); // 创建"退出"按钮 final Button Btn_quit = new Button(shell, SWT.NONE); // “退出”按钮事件 Btn_quit.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent e) { MessageBox mb = new MessageBox(shell, SWT.ICON_QUESTION | SWT.OK | SWT.CANCEL); mb.setText("提示"); mb.setMessage("确定要关闭吗?"); int rc = mb.open(); if (e.doit == (rc == SWT.OK)) { // 做窗口关闭事件 shell.close(); } else { // 什么也不做 } } }); Btn_quit.setText("退出"); Btn_quit.setBounds(200, 135, 48, 22); // 创建配置图片 final Canvas canvas = new Canvas(shell, SWT.NONE); canvas.setBounds(265, 108, 79, 71); Rectangle rect_can = canvas.getBounds(); ImageData Data_img = new ImageData("Res//Setting.png").scaledTo( rect_can.width, rect_can.height); final Image myImage = new Image(Display.getDefault(), Data_img); canvas.addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { e.gc.drawImage(myImage, 0, 0); } }); /** * Canvas获得焦点响应 canvas.addKeyListener(new KeyAdapter() { public void * keyPressed(final KeyEvent e) { * System.out.println("这事件不知为何,为下面事件做铺垫"); } }); * canvas.addFocusListener(new FocusAdapter() { public void * focusGained(final FocusEvent e) { System.out.println("sdfsd"); } }); */ // CANVAS中鼠标事件 canvas.addMouseListener(new MouseAdapter() { //鼠标释放 public void mouseUp(final MouseEvent e) { System.out.println("Up"); } }); } // 文本框输入内容检查,只允许小写字母和数字 public boolean CheckTextData(char ch) { if (Character.isDigit(ch) || ch == '/b' || Character.isLowerCase(ch)) { return true; } return false; } }
相关文章推荐
- 使用java awt 制作登陆,注册界面(结合数据库MY SQL )使用mac系统的eclipse
- JAVA之简单界面设计(布局,更改背景图片,按钮监听 + 数据库登陆注册相关..)
- 使用Java的Frame类编写的QQ登录界面
- java实现数据结构练习题--仅使用处理单个数字的I/O例程,编写一个过程以输出任意实数(可以是负的)
- JAVA界面组件---swing标签与按钮的使用与介绍
- java开发登陆界面时比较数据库字符窜的问题
- Java学习日记day8 使用JSP处理用户注册和登陆
- 使用Java面向对象程序操作Oralce数据库实现界面增,删,改,查
- session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java推断是否是ajax请求)
- java学习笔记之使用MyEclipse编写一个简单的登陆界(一)
- java使用工厂模式编写计算器(swing界面)
- java制作登陆界面验证问题mysql为数据库
- java学习笔记之使用MyEclipse写一个简单的登陆界面(二)
- Java使用JDBC编写解耦链接数据库
- servlet编写Filter过滤器,防止未登录访问,不过滤登陆界面(使用IDEA编写)
- [编写高质量代码:改善java程序的151个建议]建议71 推荐使用subList处理局部列表
- 使用Java来处理C++存储在数据库中的Blob数据。
- Java编写山寨QQ中遇到的各种问题---登陆界面
- Domino允许使用Java编写4种Java应用来访问Domino数据库