今天总结java的几个组件吧!感觉好几天没有写了....
从swing和awt说起吧,这是个拥有很多丰富的方法的类的包,可以创建窗体、设置窗体可见、窗体Title、窗体关闭方式、窗体大小以及位置等等的方法、同时要是用窗体就需要建立一个画布,然后与窗体绑定,将一些组件增添到画布中去,这样就可以使用一些组件完成一些基本的功能,同时需要为组件添加监听,才能触发事件完成相应的功能,由于java组件与android组件有差别,即许多对应的名字不一样,且用法也会有出入,毕竟android有自己的一套api,但是要想学好android的界面,个人小小的认为还是可以先把java的研究研究再说吧
在swing中有JButton、JFrame、JLabel、JPanel、SwingConstants等等的已经封装好的类,所以我们只需要会如何使用便可以了,同样在awt中有BorderLayout、CardLayout、GridLayout、Image等等类,个人认为可以先看一下布局方式,下面先看一个东西南北中的布局吧:
package my01;import java.awt.BorderLayout;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.SwingConstants;public class Graphics extends JFrame{ JButton south = new JButton("south"); JButton west = new JButton("west"); JButton north = new JButton("north"); JButton east = new JButton("east"); JLabel center = new JLabel("center",SwingConstants.CENTER); JButton[] jb = new JButton[]{west,north,east,south}; public Graphics(){ JPanel pnBasic = new JPanel(); pnBasic.setColor.PINK); pnBasic.setLayout(new BorderLayout()); for(int i=0;i
运行结果如下显示:
下面根据这个大框的主体布局增加了一些图片的处理,给按钮添加了监听,让其完成图片的显示,在其中又用到了cardLayout的图片显示布局:
package my01;import java.awt.BorderLayout;import java.awt.CardLayout;import java.awt.GridLayout;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class Graphics1 extends JFrame { private CardLayout lyCard; JPanel pnBasic = new JPanel(); JPanel jp1 = new JPanel(); JPanel jp2 = new JPanel(); JButton btnLast = new JButton(); JButton btnNow = new JButton(); JButton btnNext = new JButton(); public Graphics1(){ pnBasic.setLayout(new BorderLayout()); lyCard = new CardLayout(); jp1.setLayout(lyCard); JLabel[] jlArrShow = new JLabel[7]; for(int i=0;i
输出效果如下:
对应的按钮也可有相应的布局如上面的Layout流式布局,点击上面的按钮图片会相应的改变,如果frame中要添加的东西很多,如数组,还有一些并列的许多属性时,可以封装出一个实体类,那样操作会更加简单,这一点是老师提供的宝贵意见,等以后弄出来再补上吧!对于更深一步的优化以后学会了再说吧,今天就只能少说点啦~^_^~