项目结构:

  

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的例子-非连接数据库的更多相关文章

  1. 最简单的基于libVLC的例子:最简单的基于libVLC的推流器

    ===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...

  2. 最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器(图形界面版)

    ===================================================== 最简单的基于libVLC的例子文章列表: 最简单的基于libVLC的例子:最简单的基于lib ...

  3. 腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法

    目前最好的高动态范围(HDR)成像方法通常是先利用光流将输入图像对齐,随后再合成 HDR 图像.然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷.最近,腾讯优图和香港科技大学的研究 ...

  4. Socket-IO 系列(三)基于 NIO 的同步非阻塞式编程

    Socket-IO 系列(三)基于 NIO 的同步非阻塞式编程 缓冲区(Buffer) 用于存储数据 通道(Channel) 用于传输数据 多路复用器(Selector) 用于轮询 Channel 状 ...

  5. CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)

    CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL) PointASNL: Robust Point Clouds Processing Using Nonlocal N ...

  6. 一种基于C51单片机的非抢占式的操作系统架构

    摘 要:从Keil C51的内存空间管理方式入手,着重讨论实时操作系统在任务调度时的重入问题,分析一些解决重入的基本方式与方法:分析实时操作系统任务调度的占先性,提出非占先的任务调度是能更适合于Kei ...

  7. 基于CAS操作的非阻塞算法

    非阻塞算法(non-blocking algorithms)定义        所谓非阻塞算法是相对于锁机制而言的,是指:一个线程的失败或挂起不应该引起另一个线程的失败或挂起的一种算法.一般是利用硬件 ...

  8. 基于vue-cli,测试非父子传值时,碰到 keep-alive的神奇

    非父子传值测试 一直都很好奇非父子传值到底如何,结果入坑许久才爬出来,才知道在脚手架里测试就是坑. 问题: 测试非父子传值时,由于组件之间是通过路由进行跳转,值传过去又被刷掉 思路: 因为路由跳转,相 ...

  9. 基于NIO的同步非阻塞编程完整案例,客户端发送请求,服务端获取数据并返回给客户端数据,客户端获取返回数据

    这块还是挺复杂的,挺难理解,但是多练几遍,多看看研究研究其实也就那样,就是一个Selector轮询的过程,这里想要双向通信,客户端和服务端都需要一个Selector,并一直轮询, 直接贴代码: Ser ...

随机推荐

  1. bzoj1218: [HNOI2003]激光炸弹(DP二维前缀和)

    1218: [HNOI2003]激光炸弹 题目:传送门 题解: 一道经典题目啊... 为了更好的操作...把整个坐标系向右上角移动,从(1,1)开始 那么f[i][j]统计一下以(i,j)作为右上角, ...

  2. vue-cli全引入jquery

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 vue-cli全引入jquery:(vue-cli使用webpack) 第一步: 在package.json文件里的de ...

  3. Go语言结构体转json的坑

    Go语言结构体转json的坑 标签(空格分隔): go json.Marshal() JSON输出的时候必须注意,只有导出的字段(首字母是大写)才会被输出,如果修改字段名,那么就会发现什么都不会输出, ...

  4. Sql Server创建主键失败:CREATE UNIQUE INDEX 终止,因为发现对象名称 '[PPR_BasicInformation]' 和索引名称 '[PK_PPR_BasicInformation]' 有重复的键(E)

    这种问题是由于主键设置了唯一性,而数据库中主键列的值又有重复的值,重复值为E,改掉其中一个值就可以了.

  5. category和关联对象

    如上所见,我们知道在category里面是无法为category添加实例变量的.但是我们很多时候需要在category中添加和对象关联的值,这个时候可以求助关联对象来实现. MyClass+Categ ...

  6. js函数参数理解

    eg: function setName(obj){ obj.name = "Nicholas"; obj = new Object(); obj.name = "Gre ...

  7. Hadoop不同模式下关键配置属性

    Hadoop分为三种模式: 独立(或本地)模式. 伪分布模式. 全分布模式 不同模式下关键配置项及属性内容如下面表格所示 组件名称 配置的文件名 属性名称 独立模式 伪分布模式 全分布模式 Commo ...

  8. 洛谷P2756 飞行员配对方案问题 网络流_二分图

    Code: #include<cstdio> #include<queue> #include<vector> #include<cstring> #i ...

  9. continue和break

    <script type="text/javascript"> var i=1; computer: while(true){ i++; switch(i){ case ...

  10. Iterator(迭代器) 和generator

    数组是可迭代的 var a = []; console.dir(a); 发现这里有一个Symbol.iterator ,说明它是可迭代的. object 是不可以迭代的 var a = {} cons ...