文档章节

JAVA GUI 开发---登录界面加载背景图片

重回空间
 重回空间
发布于 2010/08/23 22:51
字数 399
阅读 9864
收藏 8

 

 

package com.ycty.totlosystem.gui.test;

import java.awt.Graphics;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class LoginJFrameTest {
 private JFrame jframe;
 private JLabel jlabel,jlabel1;
 private GridBagLayout gridbag;
 private GridBagConstraints constraints;
 private JTextField jtfield1;
 private JPasswordField jpfield1;
 private JButton jbutton1,jbutton2,jbutton3;
 private JPanel jpanel;
  
 public LoginJFrameTest(){
  jframe = new JFrame();
  jlabel = new JLabel();
  jlabel1 = new JLabel();
  jtfield1 = new JTextField();
  jpfield1 = new JPasswordField();
  gridbag = new GridBagLayout();
  jbutton1 = new JButton();
  jbutton2 = new JButton();
  jbutton3 = new JButton();
  
  init();
 }
 
 /**
  * init()初始化并显示界面
  */
 
 private void init(){
  
  jframe.setTitle("全屏幕测试");
  
  jpanel = new JPanel(){
   @Override
   protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    ImageIcon img = new ImageIcon(ImgJframeTest.class.getResource("\\img\\2.jpg"));
    img.paintIcon(this, g, 0, 0);
   }
  };
  
  jlabel.setText("用户名:");
  jlabel1.setText("密    码:");
  jbutton1.setText("登    录");
  jbutton2.setText("退    出");
  jbutton3.setText("更改密码");
  
  //设置JFrame为全屏
  jframe.setUndecorated(true);
  jframe.getGraphicsConfiguration().getDevice().setFullScreenWindow(jframe);
  
  //设置JPanel为透明,且使用GridBagLayout布局管理器
  jpanel.setOpaque(true);
  jpanel.setLayout(gridbag);
  
     //用户名文本框显示
     constraints = getGridBagConstraints(0,0,1,1,0,0,GridBagConstraints.CENTER,
        GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
    
     gridbag.setConstraints(jlabel, constraints);
  jpanel.add(jlabel);
  
  //用户名输入框显示
     constraints = getGridBagConstraints(1,0,1,1,0,0,GridBagConstraints.CENTER,
        GridBagConstraints.NONE,new Insets(10,0,10,0),100,0);
   
     gridbag.setConstraints(jtfield1, constraints);
     jpanel.add(jtfield1);
     
     //密码文本框显示
     constraints = getGridBagConstraints(0,1,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);
     gridbag.setConstraints(jlabel1, constraints);
     jpanel.add(jlabel1);
 
     //密码输入框显示
  constraints = getGridBagConstraints(1,1,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),100,0);

  gridbag.setConstraints(jpfield1, constraints);
  jpanel.add(jpfield1);
  
  //更改密码按钮显示
  constraints = getGridBagConstraints(0,2,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);

  gridbag.setConstraints(jbutton3, constraints);
  jpanel.add(jbutton3);
  
  //登录按钮显示
  constraints = getGridBagConstraints(1,2,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);

  gridbag.setConstraints(jbutton1, constraints);
  jpanel.add(jbutton1);

  //退出按钮显示
  constraints = getGridBagConstraints(2,2,1,1,0,0,GridBagConstraints.CENTER,
       GridBagConstraints.NONE,new Insets(10,0,10,0),0,0);

  gridbag.setConstraints(jbutton2, constraints);
  jpanel.add(jbutton2);
  
  jframe.add(jpanel);
 }
 
 private static GridBagConstraints getGridBagConstraints(int gridx,int gridy,int gridwidth,
   int gridheight,double weightx,double weighty,int anchor,int fill,Insets insets,
   int ipadx,int ipady){

   return new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, weighty,
     anchor, fill, insets, ipadx, ipady);
 }
 
 public void showMe(){
  jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jframe.setVisible(true);
 }
 
 public static void main(String[] args) {
  new LoginJFrameTest().showMe();
 }
}

© 著作权归作者所有

共有 人打赏支持
重回空间
粉丝 11
博文 21
码字总数 7356
作品 0
浦东
技术主管
私信 提问
Android精美登录界面设计

在网上在到一个登录界面感觉挺不错的,给大家分享一下~先看效果图: 这个Demo除了按钮、小猫和Logo是图片素材之外,其余的UI都是通过代码实现的。 一、背景 背景蓝色渐变,是通过一个xml文件...

Reya滴水心
2014/03/10
0
2
JMX学习以及在log4j中的应用

前言 JMX即Java Managemen Extensions,是一个为应用程序植入管理功能的框架。一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。 常常在编程的过程中...

buglife
2015/01/06
0
15
JAVA基础再回首(二十七)——JAVA中的图形化界面、GUI概述、简单的窗体创建、事件监听机制、动作事件、GUI布局、鼠标事件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52719838 JAVA基础再回首(二十七)——JAVA中的图形化界面、GUI概述、简单的窗体创...

Aduroidpc
2016/10/02
0
0
终于搞清楚了为什么Java桌面程序总是感觉慢的原因

终于搞清楚了为什么Java桌面程序总是感觉慢的原因! 按照道理服务器和浏览器都在用脚本和虚拟机,那些不慢,而Java的桌面程序总是感觉响应迟钝呢?主要有两个原因,一是服务器和浏览器都是异...

openthings
2015/01/22
0
0
Java图书管理系统练习程序(一)

Java图书管理系统练习程序 第一部分 该部分主要实现命令行方式的界面与无数据库访问的练习,通过本练习、主要掌握Java的基础知识与面向对象程序设计思想、面向接口编程技术的知识与运用。 一...

错过的小猴子
10/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
0
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
2
0
RxJava threading

因为Rx针对异步系统设计,并且Rx也自然支持多线程,所以新的Rx开发人员有时会假设Rx默认是多线程的。在其他任何事情之前,重要的是澄清Rx默认是单线程的。 除非另有说明,否则每次调用onNex...

woshixin
昨天
0
0
Python的安装及文件类型、变量

一、为什么学习python 服务于大数据、人工智能、自动化运维。 简单易学 代码简洁 薪资高 近几年越来越火 二、Python的安装 linux 系统默认安装, CentOS7 默认安装了python2.7 安装ipython y...

枫叶云
昨天
1
0
JeeSite 4.x 树形结构的表设计和用法

有些同仁对于 JeeSite 4 中的树表设计不太了解,本应简单的方法就可实现,却写了很多复杂的语句和代码,所以有了这篇文章。 在 JeeSite 4 中的树表设计我还是相对满意的,这种设计比较容易理...

ThinkGem
昨天
33
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部