十一、Swing
1、Swing常用窗体
(1)JFrame框架窗体
JFrame窗体是一个容器,是Swing程序中各组件的载体。
语法:JFrame jf = new JFrame(title);
Container container = jf.getContentPane();
方法:setBackground()、setSize()、setDefultCloseOperation(模式)
几种关闭模式:DO_NOTHING_ON_CLOSE //什么都不做关闭
DISPOSE_ON_CLOSE //任何注册监听程序对象后自动隐藏并释放窗体
HIDE_ON_CLOSE //隐藏窗口的默认关闭
EXIT_ON_CLOSE //退出默认关闭
2、JDialog窗体(对话框)
调用getContentPane()将窗体转化为容器
构造方法:public JDialog()、public JDialog(Frame f)、public JDialog(Frame f.blooean model)、public JDialog(Frame f,String title)、Public JDialog(Frame f,String title,boolean model)
setResizalbe(false) //机制改变窗体大小
3、标签组件与图标
(1)标签:JLabel 显示文本和图片。
构造方法:public JLabel()、public JLabel(Icon icon)、public JLabel(Icon icon,inte aligment)、public JLabel(String text,int aligment)、public JLabel(String text,Icon icon,int aligment)
(2)图标:icon
创建图标必须实现icon接口的3个方法:
1)public int getIconHeight()
2)public int getIconWidth()
3)public void paintIcon(Component arg0,Graphics arg1,int arg2,int arg3)
ImageIconl类
构造方法:public ImageIcon()、public ImageIcon(Image image)、public ImageICon(Image image,String description)、public ImageIcon(URI url)
4、布局管理器
(1)绝对布局
取消布局管理器:Container.setLayout(null)
设置组件的大小和位置:Component。setBounds()
(2)流布局管理器(FLowLayout)
构造方法:public FlowLayout()、public FlowLayout(int alignment)、public FlowLayout(int alignment,int horizGap,int vertGap)
行位置:FlowLayout.LEFT=0/CENTER=1/RIGHT=2
(3)边界布局管理器(BorderLaoyout)
容器方位:BorderLayout.NORTH/SOUTH/WAST/WEST/CENTER
(4)网格布局管理器(GridLayout)
构造方法:public GridLayout(int rows,int columns)
public GridLayout(int rows,int columns,int horizGap,int vertGap)
5、常用面板
(1)JPanel面板:聚集一些组件来布局。
(2)JScrollPane面板:带滚动条的面板,只放置一个组件,不能使用布局管理器。
6、按钮组件
(1)提交按钮组件(JButton)
构造方法:public JButton()、public JButton(String text)、public JButton(Icon icon)、public JButton(String text,Icon icon)
(2)单选按钮组件(JRadioButton)
构造方法:public JRadioButton()
public JRadioButton(Icon icon)
public JRadioButton(Icon icon,boolean selected)
public JRadioButton(String text)
public JRadioButton(String text,Icon icon)
public JRadioButton(String text,Icon icon,boolean selected)
(3)复选框组件(JCheckBox)
构造方法:public JCheckBox()
public JCheckBox(Icon icon,boolean checked)
public JCheckBox(String text,boolean checked)
7、列表组件
(1)JComboBox类
构造方法:public JComboBox()
public JComboBox(ComboBoxModel dataModel)
public JComboBox(Object[] arrayData)
public JComboBox(Vector vector)
(2)JComboBox模型
1)一般将下拉列表框中的项目封装为ComboBoxModel接口。
实现2个方法:public void setSelectedItem(Object item)
public Object getSelectedItem()
2)继承AbstractListModel类。
2个方法:getSize()、getElementAt(int index)
8、列表框组件(JList)
构造方法:public void JList()
public ovid JList(Object[] listData)
public void JList(Vector listData)
public void JList(ListModel dataModel)
9、文本组件
(1)文本框组件(JTextField)
构造方法:public JTextField()
public JTextField(String text)
public JTextField(int fieldwidth)
public JTextField(String text,int fieldwidth)
public JTextField(Document docMoedel,String text,int fieldWidth)
(2)密码框组件(JPasswordField)
构造方法:public JPasswordField()
public JPasswordField(String text)
public JPasswordField(int fieldwidth)
public JPasswordField(String text,int fieldwidth)
public JPasswordField(Document docModel,String text,int fieldWidth)
(3)文本域组件(JTextArea)
构造方法:public JTextArea()
public JTextArea(String text)
public JTextArea(int rows,int columns)
public JTextArea(Document doc)
public JTextArea(Document doc,String Text,int rows,int columns)