黑马程序员——Java基础---Swing组件

来源:互联网 发布:西安天网软件陈一丁 编辑:程序博客网 时间:2024/06/15 20:23

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.依赖于本地平台的组件成为重量级组件,反之成为轻量级组件,Swing就是轻量级组件(可插入外观组件)
2.Swing层次关系,Swing中大多数GUI组件是java.awt.Component类的子类。java.swing.JComponent类是Swing存放各种特性的组件,包括设定组件边界,GUI的自动滚条等。Swing中最重要的父类是java.awt.Containter类,而其最重要的两个子类是java.awt.Window和java.awt.Frame。
3.窗体
JFrame窗体  构造方法形式 public Jframe(String title//可省略)
格式JFrame jf=new JFrame(title); Container container=jf.getContentPane();  调用getContentPane()将窗口转换成一个容器,在容器中管理组件
container.add(jl);  container.setBackground(Color.white); jf.sevisible(true); jf.setSize(宽,高);
jf.setDefaultCloseOperation(WindowConstant.EXIT_ON_CLOSE);//关闭窗口形式,还有DO_NOTHING_ON_CLOSE,
DISPOSE_ON_CLOSE,HIDE_ON_CLOSE
JDialog窗口(对话窗口,继承java.awt.Dialog类),同样需要调用getContentPane()将窗口转换成一个容器
构造方法形式 public JDialog(frame f, String title,boolean model//均可省略),f为父窗体
其他的功能语句如同JFrame
4.标签组件与图标
标签(父类JComponent)简单的显示文本或图片 格式public JLable(String text,Icon icon,int aligment)分别对应于 文本,图标,文字对齐方式,任意几个可省略
图标 public int getIconHight()/getIconWidth() 获取图标的长宽
public void paintIcon(Component arg0,Graphics arg1,int arg2,int arg3)实现指定位置画图标
使用图片图标(javx.swing.ImaginIcon) public ImageIcon(Image image//图片,Strign description//描述)
public ImageIcon(URL url//计算机网络上的图标,位置应该在类的文件夹下)
为标签设置图片 标签名.setIcon(图片名)
5.常用布局管理器
绝对布局 setLayout(null);取消布局管理器 setBounds(int x,int y,int height,int width);
流布局管理器,组件像流一样从左到右摆放,直到沾满此行的空间,默认情况是剧中public FlowLayout(int alignment//0左1中2右,int horizGap,int vertGap//组件之间的水平垂直距离),参数都可省
边界布局管理器,默认不指定窗体布局的情况下,Swing的布局模式是BorderLayout,将容器分为东西南北中五个区域,使用容器名.add(bordei,new JButton(buttonName[i])) borderi=BorderLayout.NORTH/SOUTH...
网格布局管理器(将容器划分为网格,组件按行和列排列,大小一样,左上角开始)
public GridLayout(int rows,int columns,//行列数int horizGap,int vertGap//行列间距),后2参可省略
后三种模式使用,setLayout(new Flowlayout()/BorderLayout()/GridLayout())
6.常用面板(必须被添加到容器里)
JPanel面板 JPanel p=new JPanel(new GridLay(1,1,5,2));p.add(new JButton("1"));容器.add(p);
JScrollPane面板(较小的窗体中显示带滚动调的面板,且只放一个)
JTextArea ta=new JTextArea(20,30);//文本区域组件JScrollPane sp=new JScrollPane(ta); 容器.add(sp);
7.按钮组件
 提交按钮 public JButton(String text,Icon icon)任意个可省略
jb.setEnabled(false/true)按钮是否可用,jb.setIcon(icon),jb.setHideActionText(false)控件上的文字显示,jb.setToolTipText("文字")提示文字,jb.setBorderPainted(false)按钮边界不显示,jb.setMaximumSize(new Dimension(宽,高))按钮的最大值设定,jb.addActionListener(new ActionListener(){...});按钮监听事件
单选按钮(其许多方法都是AbstractButton类的方法)
格式 public JRadioButton(String text,Icon icon,Boolean selected),其中均可省略
按钮组 ButtonGroup group=new ButtonGroup();group.add(新创建的单选按钮);
复选框组件 格式 public JCheckBox(String text,Icon icon,Boolean selected),其中均可省略
8.列表组件
下拉列表框组件public JComboBox(ComboBoxModel dataModel/Object[] arrayDate数组/Vector vector/省略)
一般将下拉选项封装为ComboBoxModel,ComboBoxModel为接口,代表一般模型,可自定义一个类实现该接口
例如 class MYComboBox extends AbstractListModel implements ComboBoxModel{},getSize()返回列表长度,getElementAt(int index)返回指定索引处的值
列表框组件public void JList(ListModel dataModel/Object[] listDate/Vector ListDate) 类似于下拉
9.文本组件
文本框组件public JTextField(Document docmodel,String text,int Fieldwidth/文字长度),其中均可省略
密码框组件public JPasswordField(Document docmodel,String text,int Fieldwidth/文字长度),其中均可省
jp.setEchoChar('#')设置回显字符。
文本域组件public JTextArea(Document doc,String text,int rows,int columns),其中均可省略
jt.setLineWrap(true)使文本域自动换行
10.常用监听事件器(事件源,事件,监听程序)
 事件名称
 事件源
监听接口
 添加或删除监听器
 ActionEvent
 JButton,JList,JTextFiel等
 ActionListener
 add/removeActionListener()
 FocusEvent
 Componment以及其派生类
 FocusListener
 add/removeFocusListener()

0 0