基于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 ...
随机推荐
- 关于 折半查找 while 条件 < , <=
int bin_search(int a[],int len,int key) { int low=0; int high=len-1; while(low<=high) //若为low< ...
- elasticsearch的javaAPI之index
Index API 原文:http://www.elasticsearch.org/guide/en/elasticsearch/client/java-api/current/index_.html ...
- JAVA设计模式之【组合模式】
组合模式 用面向对象的方式来处理树形结构 组合多个对象形成树形结构以表示具有"整体-部分"关系的层次结构. 在组合模式中引入了抽象构件类Component,它是所有容器类和叶子类的 ...
- matplotlib 可视化 —— matplotlib.patches
官方帮助文档 patches - Matplotlib 1.5.1 documentation patches 下主要包含的常用图形类有: Eclipse Circle Wedge 1. plt.gc ...
- Hibernate 与mybatis的区别
转自:https://blog.csdn.net/julinfeng/article/details/19821923 为方便以后准备面试,把一些常用的技术整理出来,会不定期更新. 首先简单介绍下两者 ...
- (二)Ribbon(负载均衡的客户端)+Rest
前面讲了服务的注册与发现,微服务项目会把项目的各个业务需求划分成几个模块来单独提供服务,各服务间的调用都是采用Http Restful来实现,但是在SpringClound中服务间的调用有两种方式:一 ...
- xBIM 基础16 IFC的空间层次结构
系列目录 [已更新最新开发文章,点击查看详细] 本篇介绍如何从文件中检索空间结构.IFC中的空间结构表示层次结构的嵌套结构,表示项目,站点,建筑物,楼层和空间.如果您查看IFC文档, 您会发现 ...
- n行m列矩阵顺时针填写1~n*m
程序效果图如下: 程序参考代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...
- vue 所有的路由跳转加一个统一参数
需求是什么 所有的路由跳转加一个统一的参数 实现方式 先深入理解一下router的全局前置守卫 router.beforeEach((to, from, next) => { const que ...
- canvas 连线曲线图
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name=& ...