`
不平凡的人
  • 浏览: 35195 次
  • 性别: Icon_minigender_1
  • 来自: 嘉峪关
社区版块
存档分类
最新评论

swing界面开发

阅读更多

  •  1.java的图形界面简单介绍

     

    1).awt
      jdk1.4之前就推出的图形界面类。
      跨平台性

     2).swing
      jdk1.4的时候推出的图形界面类

  •  

    (1)

    swing的图像界面类添加了一些新的东西一般是带J的,比如说JFrame,JLabel等等,这样是图形界面类跟家丰富了,其次实现了更好的跨平台性和可移植性

     

    2.常用的Swing图形界面API类
     1.容器
      JFrame           窗体类
      JPanel           面板类

     

     2.元素组件
      JButton          按钮类
      JLabel       标签类
      JTextField      单行文本输入框类
      JPasswordField   密码文本输入框类
      JCheckBox        复选框类
      JComboBox        下拉框类

    JMenuBar          菜单栏类

    JMenu             菜单类

    JMenuItem       子菜单类

    JSeparator        水平分割符类

     

     包名:javax.swing.*;

     

    3.常用的布局API类


     FlowLayout         流式布局类
     BorderLayout       边框布局类
     GridLayout         网格布局类

     

     包名:java.awt.*;

    4.按钮和标签上可以加图片

    可以添加图片

    eg;

    javax.swing.ImageIcon   image = new javax.swing.ImageIcon("图片的路径");

    javax.swing.JLabel   jla = new javax.swing.JLabel(image);

    按钮上添加图片与标签上的类似

     

    5.实现一个简单的登录界面


    1).新建一个文本文档,将文件的名字修改为Login.java
    2).定义Login类和main函数。
    3).定义初始化界面的方法。
    4).在初始化界面的方法中实例化一个JFrame类的对象。
    5).设置JFrame类对象的属性值。
    6).实例化元素组件对象,添加到窗体上。
    7).在Main函数中实例化Login类的对象,然后调用初始化界面的方法。
      

  • 6.计算器的界面为例:
  • /**
     * 定义一个test的包来管理CalculatorUI类
     */
    package test;
    
    import javax.swing.*;
    import java.awt.*;
    
    /**
     * 定义一个CalculatorUI类
     * @author Allen
     *
     */
    public class CalculatorUI {
    
    //	private static final String Integer = null;
    
    	/**
    	 * 定义一个一个程序的入口主函数
    	 * @param args
    	 */
    	public static void main(String[] args){
    		
    	//创建一个CalculatorUI类的对象 
    		CalculatorUI cal = new CalculatorUI();
    	//调用初始化界面的方法
    		cal.IntUI();
    
    	}
    	//初始化一个界面
    	public void IntUI(){
    		
    	//创建一个窗体对象
    		JFrame jf = new JFrame();
    	
    	/*
    	 * 设置窗体	
    	 */
    		jf.setTitle("计算器界面");
    		jf.setSize(220,320);
    		jf.setResizable(false);
    		jf.setDefaultCloseOperation(3);
    		jf.setLocationRelativeTo(null);
    		
    	/*
    	 * 设置计算器的背景	
    	 */
    		ImageIcon image = new ImageIcon("image/bkg.png");
    		JLabel jlab = new JLabel(image);//标签上添加图片
    		
    		//设置标签的大小
    		jlab.setBounds(0,0,image.getIconWidth(),image.getIconHeight());
    		//将标签添加到面板的最底层
    		jf.getLayeredPane().add(jlab);
    		//将LayeredPane上一层的面板设置为透明
    		JPanel contentPanel = (JPanel)jf.getContentPane();
    		
    		/*
    		 *设置面板透明
    		 */
    		contentPanel.setOpaque(false);
    		panelNorth().setOpaque(false);
    		panelCenter().setOpaque(false);
    		panelEast().setOpaque(false);
    		
    	/*
    	 * 添加菜单栏及面板到窗体
    	 */
    		jf.setJMenuBar(menuBar());
    		jf.add(panelNorth(),BorderLayout.NORTH);
    	    jf.add(panelCenter(),BorderLayout.CENTER);
    		jf.add(panelEast(),BorderLayout.EAST);
    	    
    		//设置窗体的可见性
    		jf.setVisible(true);
    	}
    	
    	/*
    	 *创建菜单
    	 */
        private JMenuBar menuBar(){
        	
        	//创建菜单栏
        	JMenuBar jme = new JMenuBar();
        	
        	JMenu jm = new JMenu("查看(V)");//创建菜单
        	jme.add(jm);//菜单栏添加菜单
        	
        	/*
        	 * 创建菜单子项对象
        	 */
        	JMenuItem jmeI = new JMenuItem("标准型(T)");
        	JMenuItem jmeI1 = new JMenuItem("科学性(S)");
        	JMenuItem jmeI2 = new JMenuItem("程序员(P)");
        	
        	//创建水平分割线
        	JSeparator js = new JSeparator();
    
        	/*
        	 * 添加子项及水平分割线到菜单
        	 */
        	jm.add(jmeI);
        	jm.add(jmeI1);
        	jm.add(js);
        	jm.add(jmeI2);
        	
        	JMenu jm1 = new JMenu("编辑(E)");//创建菜单
        	jme.add(jm1);//添加菜单到菜单栏
        	
        	/*
        	 * 创建菜单子项
        	 */
        	JMenuItem jmen = new JMenuItem("复制(C)");
        	JMenuItem jmen1 = new JMenuItem("粘贴(P)");
        	JMenuItem jmen2 = new JMenuItem("历史记录(H)");
        	JSeparator js1 = new JSeparator();//创建水平分割线
        	
        	/*
        	 * 添加子项及水平分割线到菜单
        	 */
        	jm1.add(jmen);
        	jm1.add(jmen1);
        	jm1.add(js1);
        	jm1.add(jmen2);
        	
        	JMenu jm2 = new JMenu("帮助(H)");//创建菜单项
        	jme.add(jm2);//添加菜单到菜单栏
        	
        	/*
        	 * 创建菜单子项
        	 */
        	JMenuItem jmenu = new JMenuItem("查看帮助(V)");
        	JMenuItem jmenu1 = new JMenuItem("关于计算器(A)");
        	JSeparator js2 = new JSeparator();
        	
        	/*
        	 * 添加子项及水平分割线到菜单
        	 */
        	jm2.add(jmenu);
        	jm2.add(js2);
        	jm2.add(jmenu1);
        	
        	//返回菜单栏对象
        	return jme;
        }
    	
    	//创建北边的面板
         private JPanel panelNorth(){
        	
        	//实例化一个面板
        	JPanel jpa = new JPanel();
        	
        	JTextField jte = new JTextField();//创建一个文本框
        	jte.setPreferredSize(new Dimension(200,55));//设置文本框的大小
        	jte.setEditable(false);//设置文本框不可编辑
        	jte.setText("0");//设置文本框的初始字符
        	jte.setHorizontalAlignment(JTextField.RIGHT);//设置字符靠右边输出
        	jte.setFont(new Font("行书",Font.BOLD,35));//设置字符
        	jpa.add(jte);//面板上添加文本框
        	
        	//返回面板对象
        	return jpa;
        }
        //创建中央的面板
    	private JPanel panelCenter(){
    		
    		JPanel jpa = new JPanel();//实例化一个面板对象
    		jpa.setLayout(new FlowLayout(FlowLayout.RIGHT,7,5));//设置窗体的流式布局
    		//创建一个数组
    		String [] array ={"image/mc.png","image/mr.png","image/ms.png","image/m+.png","image/←.png","image/ce.png",
    				"image/c.png","image/加减.png","image/7.png","image/8.png","image/9.png","image/除.png","image/4.png","image/5.png",
    				"image/6.png","image/乘.png","image/1.png","image/2.png","image/3.png","image/减.png","image/0.png","image/点.png","image/加.png"}; 
    		
    		//循环遍历数组
    		for(int i=0;i<array.length;i++){
    			
    		//创建一个按钮对象
    			JButton jbu = new JButton(new ImageIcon(array[i]));
    			if(array[i].equals("image/0.png")){
    			
    			jbu.setPreferredSize(new Dimension(75,26));
    		     }	else{
    		    	 jbu.setPreferredSize(new Dimension(34,26));
    		     }
    		//添加按钮到面板
    			jpa.add(jbu);
    		}
    		//返回面板对象
    		return jpa;
    	}
    	
    	//创建中央的面板
    	private JPanel panelEast(){
    		
    		JPanel jpa = new JPanel();//实例化一个面板对象
    		jpa.setLayout(new FlowLayout(FlowLayout.LEFT,0,5));//设置窗体的流式布局
    	    jpa.setPreferredSize(new Dimension(40,0));//设置面板的大小
    		
    		//创建一个数组
    		String [] array ={"image/m-.png","image/根号.png","image/%.png","image/1x.png","image/=.png"}; 
    		
    		//循环遍历数组
    		for(int i=0;i<array.length;i++){
    			
    		//创建一个按钮对象
    			JButton jbu = new JButton(new ImageIcon(array[i]));
    			if(array[i].equals("image/=.png")){
    			
    			jbu.setPreferredSize(new Dimension(34,56));
    		     }	else{
    		    	 jbu.setPreferredSize(new Dimension(34,26));
    		     }
    		//添加按钮到面板
    			jpa.add(jbu);
    		}
    		//返回面板对象
    		return jpa;
    	}
    	
    }
    

 

分享到:
评论

相关推荐

    swing界面开发—java 基础/数据结构/网络编程/线程/异常处理/jdbc数据库操作/swing控件开发大全

    Java Swing界面开发是Java GUI(图形用户界面)编程的一个重要组成部分,它提供了丰富的组件库用于构建桌面应用程序。在这个教程中,我们将深入探讨几个关键的知识点,包括Java基础、数据结构、网络编程、线程管理、...

    Swing界面开发工具源代码

    Swing界面开发工具源代码是Java开发者们设计和构建图形用户界面(GUI)的重要资源,尤其对于那些希望在他们的应用程序中创建美观且功能丰富的Swing界面的开发者来说,这是一个宝贵的工具。Swing库是Java标准版(Java...

    swing界面开发rt.jar

    rt.jar swing界面开发rt.jar swing界面开发rt.jar swing界面开发rt.jar swing界面开发rt.jar swing界面开发

    JAVA总结之 简单的SWING界面开发

    这篇“简单的SWING界面开发”总结将帮助我们深入理解如何使用Swing来创建用户友好的桌面应用程序。 首先,Swing是Java Foundation Classes (JFC)的一部分,它是对早期AWT(Abstract Window Toolkit)的增强。Swing...

    java swing界面开发的班级管理系统

    在"java swing界面开发的班级管理系统"项目中,我们可以深入探讨以下几个重要的知识点: 1. **Swing组件**:Swing 提供了多种组件,如 JButton、JLabel、JTextField、JTextArea、JTable等,这些组件可以用于构建...

    Swing界面开发和游戏开发.docx

    ### Swing界面开发与游戏开发详解 #### 一、Swing简介及入门 Swing是Java的一个图形用户界面(GUI)工具包,它提供了丰富的组件来帮助开发者构建桌面应用程序。相比于AWT(Abstract Window Toolkit),Swing提供了更多...

    java swing界面开发的一个抓取快递接口工具

    在本项目中,"java swing界面开发的一个抓取快递接口工具"是一个利用Java Swing来设计图形用户界面(GUI)的应用,其主要功能是与快递100查询接口进行交互,获取物流信息。下面我们将深入探讨Java Swing和快递100...

    JavaSwing图形界面开发与案例详解源代码

    Java Swing是目前图形界面设计的主流开发工具,《Java Swing图形界面开发与案例详解[1]》从实用的角度出发,通过大量实例全面介绍Java Swing中各种组件的应用及图形界面的开发技术。《Java Swing图形界面开发与案例...

    Java 学生信息管理系统Swing界面开发教程

    本文件展示了一个用Java语言开发的小型系统——学生信息管理系统,该系统使用了 Swing 图形用户界面组件库来完成交互界面的设计,包含了学生基本信息(如学号、姓名、年龄和专业)的增加、查询、修改与删除等主要...

    4个swing界面.rar_java swing_swing_swing 界面_个_界面

    在压缩包的文件名列表中,"www.pudn.com.txt"可能是一个链接或资源列表,提供了更多关于Swing界面开发的资料,可能包括额外的教程、示例代码或者其他学习资源。而文件"gift"可能是一个jar文件,包含了这四个Swing...

    Java计算器应用实现-基础数学运算与Swing界面开发

    具体而言,项目分为Calculator类和CalculatorFrame类两个部分,前者负责计算逻辑实现,后者则是利用Swing构建图形用户界面(GUI),并实现了对各个算术操作的响应。 适合人群:初学者或有一定Java基础知识的学生和...

    Java Swing图形界面开发与案例详解 .王鹏等.扫描版.pdf

    Java Swing图形界面开发与案例详解 .王鹏等.扫描版.pdf

    《java+swing图形界面开发与案例详解》源代码

    然而,这同时也意味着Swing界面可能不如一些本地GUI库那样流畅。为了解决这个问题,Java提供了一些优化技术,如double-buffering和及时绘制(Repaint Manager),来改善动画和滚动效果。 在实际项目中,开发者还...

    《Java Swing图形界面开发与案例详解》源代码_java_baseballkn8_

    《Java Swing图形界面开发与案例详解》是一本深入讲解Java GUI编程的书籍,源代码提供了丰富的实例,适合Java初学者入门学习。Swing是Java AWT(Abstract Window Toolkit)库的扩展,它提供了更为丰富的组件和更现代...

    Java+Swing图形界面开发与案例详解》实例代码

    在"Java+Swing图形界面开发与案例详解"这本书中,作者深入浅出地介绍了如何使用Swing来设计和实现GUI应用。 该书的实例代码包含了从第一讲到第八讲的源码,逐步引导读者从基础到进阶掌握Swing的使用。以下是这些讲...

    swing界面美化包

    总的来说,Swing界面美化是Java GUI开发中的一项重要技能,通过合理利用Look-and-Feel机制和第三方库,开发者可以打造出独特且吸引人的用户界面,提升用户体验。在实际项目中,结合业务需求和个人审美,灵活运用这些...

    Java+Swing图形界面开发与案例详解实例代码

    Java Swing是Java标准库中的一个组件,用于构建桌面应用程序的用户界面。它是Java Foundation Classes (JFC)的一部分,提供了一套丰富的组件库,允许开发者创建功能完备、交互性强的图形用户界面(GUI)。本实例代码...

    Java Swing图形界面开发与案例详解及随书实例代码

    Java Swing是Java编程语言中用于构建桌面应用程序图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。Swing提供了丰富的组件集,包括按钮、文本框、菜单等,使得开发者能够创建功能强大的、...

    Java Swing 图形界面开发--文章的源码

    在这个“Java Swing 图形界面开发--文章的源码”压缩包中,包含了与CSDN博客文章《xietansheng》相关的所有示例代码,这些代码都是使用Eclipse IDE编写的。 1. **Java Swing组件**: - Swing 提供了多种组件,如 ...

Global site tag (gtag.js) - Google Analytics