swing界面开发_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > swing界面开发

swing界面开发

 2013/7/10 3:35:41  不平凡的人  程序员俱乐部  我要评论(0)
  • 摘要:1.java的图形界面简单介绍1).awtjdk1.4之前就推出的图形界面类。跨平台性2).swingjdk1.4的时候推出的图形界面类(1)swing的图像界面类添加了一些新的东西一般是带J的,比如说JFrame,JLabel等等,这样是图形界面类跟家丰富了,其次实现了更好的跨平台性和可移植性2.常用的Swing图形界面API类1.容器JFrame窗体类JPanel面板类2
  • 标签:开发 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.计算器的界面为例:
  • class="java" name="code">/**
     * 定义一个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;
    	}
    	
    }
    

?

发表评论
用户名: 匿名