基于JavaSwing的例子-非连接数据库
项目结构:

Constant.java
package com.mstf.test;
import java.io.Serializable;
public class Constant implements Serializable {
public static final long serialVersionUID = 1L;
// 超链接
public static final String URI1 = "第一个需要打开的网址";
public static final String URI2 = "第二个需要打开的网址";
// 帐号和密码
public static final String userName = "admin";
public static final String passWord = "123456";
}
Test.java
package com.mstf.test; import java.awt.Desktop;
import java.awt.EventQueue; import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.awt.event.ActionEvent;
import java.awt.Color;
import java.awt.Font;
import java.awt.Toolkit; public class Test extends JFrame { private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField text_userName;
private JTextField text_passWord; /**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Test frame = new Test();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} /**
* Create the frame.
*/
public Test() {
setIconImage(Toolkit.getDefaultToolkit().getImage(Test.class.getResource("/images/favicon.png")));
setTitle("雨落秋垣-后台登录");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null); JLabel labe_l1 = new JLabel("用户名:");
labe_l1.setForeground(Color.RED);
labe_l1.setBounds(86, 86, 54, 15);
contentPane.add(labe_l1); JLabel label_2 = new JLabel("密 码:");
label_2.setForeground(Color.RED);
label_2.setBounds(86, 130, 54, 15);
contentPane.add(label_2); text_userName = new JTextField();
text_userName.setForeground(Color.DARK_GRAY);
text_userName.setBounds(144, 83, 166, 21);
contentPane.add(text_userName);
text_userName.setColumns(10); text_passWord = new JPasswordField();
text_passWord.setForeground(Color.DARK_GRAY);
text_passWord.setBounds(145, 127, 165, 21);
contentPane.add(text_passWord);
text_passWord.setColumns(10); JButton login = new JButton("登录后台");
login.setForeground(Color.RED);
login.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// 登录按钮的方法
if (text_userName.getText().trim().equals(Constant.userName)
&& text_passWord.getText().trim().equals(Constant.passWord)) {
JOptionPane.showMessageDialog(contentPane, "登陆成功!", "标题", JOptionPane.WARNING_MESSAGE);
StartBrowse(Constant.URI1);
System.exit(0);
} else {
JOptionPane.showMessageDialog(contentPane, "用户名或者密码错误!!", "标题", JOptionPane.WARNING_MESSAGE);
// 帐号密码错误,自动清空帐号和密码
text_userName.setText("");
text_passWord.setText("");
}
}
});
login.setBounds(70, 194, 93, 23);
contentPane.add(login); JButton regeist = new JButton("查看权限");
regeist.setForeground(Color.BLUE);
regeist.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 注册按钮的方法
if (text_userName.getText().trim().equals(Constant.userName)
&& text_passWord.getText().trim().equals(Constant.passWord)) {
JOptionPane.showMessageDialog(contentPane, "登陆成功!", "标题", JOptionPane.WARNING_MESSAGE);
StartBrowse(Constant.URI2);
System.exit(0);
} else {
JOptionPane.showMessageDialog(contentPane, "您未登录!!", "标题", JOptionPane.WARNING_MESSAGE);
// 帐号密码错误,自动清空帐号和密码
text_userName.setText("");
text_passWord.setText("");
}
}
});
regeist.setBounds(255, 194, 93, 23);
contentPane.add(regeist); JLabel lblHttpsceetgovtop = new JLabel("官方网站: https://ceet-gov.top");
lblHttpsceetgovtop.setForeground(Color.RED);
lblHttpsceetgovtop.setBounds(116, 236, 222, 15);
contentPane.add(lblHttpsceetgovtop); JLabel label = new JLabel("雨落秋垣-后台管理系统");
label.setForeground(Color.MAGENTA);
label.setFont(new Font("宋体", Font.PLAIN, 36));
label.setBounds(23, 23, 378, 39);
contentPane.add(label);
} /**
* 用默认的浏览器,打开指定超链接
*
* @param uri
*/
public void StartBrowse(String uri) {
Desktop desktop = Desktop.getDesktop();
try {
desktop.browse(new URI(uri));
} catch (IOException e1) {
e1.printStackTrace();
} catch (URISyntaxException e1) {
e1.printStackTrace();
}
}
}
基于JavaSwing的例子-非连接数据库的更多相关文章
- 最简单的基于libVLC的例子:最简单的基于libVLC的推流器
===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...
- 最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器(图形界面版)
===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...
- 腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法
目前最好的高动态范围(HDR)成像方法通常是先利用光流将输入图像对齐,随后再合成 HDR 图像.然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷.最近,腾讯优图和香港科技大学的研究 ...
- Socket-IO 系列(三)基于 NIO 的同步非阻塞式编程
Socket-IO 系列(三)基于 NIO 的同步非阻塞式编程 缓冲区(Buffer) 用于存储数据 通道(Channel) 用于传输数据 多路复用器(Selector) 用于轮询 Channel 状 ...
- CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)
CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL) PointASNL: Robust Point Clouds Processing Using Nonlocal N ...
- 一种基于C51单片机的非抢占式的操作系统架构
摘 要:从Keil C51的内存空间管理方式入手,着重讨论实时操作系统在任务调度时的重入问题,分析一些解决重入的基本方式与方法:分析实时操作系统任务调度的占先性,提出非占先的任务调度是能更适合于Kei ...
- 基于CAS操作的非阻塞算法
非阻塞算法(non-blocking algorithms)定义 所谓非阻塞算法是相对于锁机制而言的,是指:一个线程的失败或挂起不应该引起另一个线程的失败或挂起的一种算法.一般是利用硬件 ...
- 基于vue-cli,测试非父子传值时,碰到 keep-alive的神奇
非父子传值测试 一直都很好奇非父子传值到底如何,结果入坑许久才爬出来,才知道在脚手架里测试就是坑. 问题: 测试非父子传值时,由于组件之间是通过路由进行跳转,值传过去又被刷掉 思路: 因为路由跳转,相 ...
- 基于NIO的同步非阻塞编程完整案例,客户端发送请求,服务端获取数据并返回给客户端数据,客户端获取返回数据
这块还是挺复杂的,挺难理解,但是多练几遍,多看看研究研究其实也就那样,就是一个Selector轮询的过程,这里想要双向通信,客户端和服务端都需要一个Selector,并一直轮询, 直接贴代码: Ser ...
随机推荐
- mybatis学习笔记(7)-输出映射
mybatis学习笔记(7)-输出映射 标签: mybatis mybatis学习笔记7-输出映射 resultType 输出简单类型 输出pojo对象和pojo列表 resultMap result ...
- MongoDB基本概念和安装配置
基本概念 MongoDB直接存储JSON. 有了NoSQL数据库之后,可以直接在业务层将数据按照指定的结构进行存储. NO SQL NoSQL 1 数据库 数据库 2 表 集合 3 行 文档 4 列 ...
- nyoj--301--递推求值(经典矩阵运算)
递推求值 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给你一个递推公式: f(x)=a*f(x-2)+b*f(x-1)+c 并给你f(1),f(2)的值,请求出f(n ...
- Hadoop编译源码
Hadoop编译源码 克隆一个虚拟机 然后一步一步安装就行 安装所需:链接: https://pan.baidu.com/s/1jIZlQmi 密码: gggv 5.1 前期准备工作 1)CentOS ...
- 你不知道的JavaScript演示代码Github地址
你不知道的JavaScript博文相关代码托管至Github,每次写完博客会把代码提交上去. 代码地址:https://github.com/rongbo-j/you-dont-know-js 点击D ...
- Android 设置AlertDialog的大小 .
AlertDialog dialog = builder.setTitle("消息列表") .setView(layout) .create(); dialog.show(); / ...
- double int 类型的区别
内部组织格式不同: po [NSString stringWithFormat:@"%d", f] 107886912 (lldb) po [NSString stringWith ...
- jdk1.8源码分析-hashMap
在Java语言中使用的最多的数据结构大概右两种,第一种是数组,比如Array,ArrayList,第二种链表,比如ArrayLinkedList,基于数组的数据结构特点是查找速度很快,时间复杂度为 O ...
- 视图层 view
视图层是 Django 处理请求的核心代码层,我们大多数 Python 代码都集中在这一层面.它对外接收用户请求,对内调度模型层和模版层,统合数据库和前端,最后根据业务逻辑,将处理好的数据,与前端结合 ...
- 成长日记--记录在WB的第一个项目。
具体为什么跑去外包,只能说自己太水了,或者太懒了,都不好好投简历,也没入这个坑过,如果有想去外包的,除非钱给到市场价的1.5倍以上,否则别考虑了. 项目是国内第一做通信公司的,从具体的需求说起比较好, ...