热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javagui组件_JAVAGUI界面组件学习

这周主要练习了GUI界面组件,设计了一个登陆界面,整体运用BorderLayout界面,将界面分为上、中、下,又将中间部分分

这周主要练习了GUI界面组件,设计了一个登陆界面,整体运用BorderLayout界面,将界面分为上、中、下,又将中间部分分为三层,运用了组合框来记录登陆ID,添加了复选框完善程序,基本实现了登陆界面的操作,需要进一步学习IO流让自己的程序可以添加登陆记录。以下是我的程序源代码(注:考虑到是登陆界面所以界面大小固定)。

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JCheckBox;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class loginframe extends JFrame{

String number[]={"2014330111","2014330112","2014330113","2014330114","2014330115","2014330116","2014330117"};

private JComboBox combo;

private JPasswordField passField;

public loginframe(){

this.setTitle("登录界面");

this.setSize(250, 180);

this.setResizable(false);

this.setLocationRelativeTo(this);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setContentPane(createContentPanel());

}

private JPanel createContentPanel(){

JPanel panel=new JPanel(new BorderLayout());

panel.add(BorderLayout.NORTH,createNPanel());

panel.add(BorderLayout.CENTER,createCeterPanel());

panel.add(BorderLayout.SOUTH,createSPanel());

return panel;

}

private JPanel createNPanel(){

JPanel panel=new JPanel();

panel.add(new JLabel("登陆系统"),JLabel.CENTER);

return panel;

}

private JPanel createCeterPanel(){

JPanel panel=new JPanel(new BorderLayout());

panel.add(BorderLayout.NORTH,createIDPassPanel());

panel.add(BorderLayout.SOUTH,createOptionsPanel());

return panel;

}

private JPanel createOptionsPanel() {

JPanel panel=new JPanel();

JCheckBox box1=new JCheckBox("记住密码");

JCheckBox box2=new JCheckBox("自动登录");

panel.add(box1);

panel.add(box2);

return panel;

}

private JPanel createIDPassPanel(){

JPanel panel=new JPanel(new GridLayout(2,1));

panel.add(createIDPanel());

panel.add(createPassPanel());

return panel;

}

private JPanel createPassPanel(){

JPanel panel=new JPanel(new BorderLayout());

JLabel label=new JLabel("密码:");

passField=new JPasswordField(10);

panel.add(BorderLayout.WEST,label);

panel.add(BorderLayout.CENTER,passField);

return panel;

}

private JPanel createIDPanel(){

JPanel panel=new JPanel(new BorderLayout());

JLabel label=new JLabel("账号:");

combo=new JComboBox(number);

combo.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

}

});

panel.add(BorderLayout.WEST,label);

panel.add(BorderLayout.CENTER,combo);

return panel;

}

private JPanel createSPanel(){

JPanel panel=new JPanel();

JButton loginBtn=new JButton("登陆");

loginBtn.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(null,"确认要登陆吗?")){

System.exit(0);}

}});

JButton cancelBtn=new JButton("取消");

panel.add(loginBtn);

panel.add(cancelBtn);

cancelBtn.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(null,"确认要退出吗?")){

System.exit(0);}

}

});

return panel;

}

public static void main(String[] args) {

// TODO Auto-generated method stub

new loginframe().setVisible(true);

}

}

6b698f4019b5c1a03522853a7db1ed75.png

91d89d6e6c8166c94ad04ecafc36d9a2.png

52a3ddc73867357f73864e19754fb34d.png

a7434cc649d571fa39db0e96091ef621.png



推荐阅读
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
author-avatar
小猪爱情守护者
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有