笔记:29~32
编程细节:做表格时,若是使用边界布局,则在定义组件时最好注释清楚哪些组件属于哪个方位。
第29讲:
图形用户界面(gui)Graphice user interface
三大常用布局管理器
项目经理:技术加对行业了解
ide:集成开发环境。eclipse属于ide
每一个Swing类就相当于一个控件
目标:什么是awt、swing、swt、JFace?
awt:(abstract windows tool)缺点:本地化,移植性差。
swing:swing在awt的基础上解决了本地化问题,但更耗内存
(IBM)swt:认为swing耗内存,所以IBM创建了swt
JFace:而JFace是进一步完善swt而开发出来的。
java的界面制作主要还是以swing为主。
JFrame:可将其认为是一个顶层容器。可以添加其他swing组件的类。import java.awt.*
swing组件预览:
顶层窗口类:
JFrame
JDialog
JWindow
图形用户界面(gui)Graphice user interface
三大常用布局管理器
项目经理:技术加对行业了解
ide:集成开发环境。eclipse属于ide
每一个Swing类就相当于一个控件
目标:什么是awt、swing、swt、JFace?
awt:(abstract windows tool)缺点:本地化,移植性差。
swing:swing在awt的基础上解决了本地化问题,但更耗内存
(IBM)swt:认为swing耗内存,所以IBM创建了swt
JFace:而JFace是进一步完善swt而开发出来的。
java的界面制作主要还是以swing为主。
JFrame:可将其认为是一个顶层容器。可以添加其他swing组件的类。import java.awt.*
swing组件预览:
顶层窗口类:
JFrame
JDialog
JWindow
子窗口类:
JPanel:默认布局为FlowLayout。是JComponent的子类,可加入其他组件
可设置背景this.setBackGround(Color.RED);
JViewPort
JScrollPane:滚动窗格组件
JRootPane
JTabbedPane:选项卡窗格 this.add("QQ号码",Component component);
第一个参数代表选项卡要显示的标题,
第二个参数代表单击此选项卡时要显示的组件
JOptionPane:
JPanel:默认布局为FlowLayout。是JComponent的子类,可加入其他组件
可设置背景this.setBackGround(Color.RED);
JViewPort
JScrollPane:滚动窗格组件
JRootPane
JTabbedPane:选项卡窗格 this.add("QQ号码",Component component);
第一个参数代表选项卡要显示的标题,
第二个参数代表单击此选项卡时要显示的组件
JOptionPane:
其他一些组件:
JLabel:显示文本类。也可显示图片,但需要借助new ImageIcon("图片所在地址");
可设置字体样式this.setFont(new Font("宋体",Font.PLAIN,10));
可设置字体颜色this.setForeground(Color.BLUE);
可设置超链接new JLabel("链接");
可设置鼠标的样式,如下方法可是鼠标在该label上变成手型
this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
JApplet
JIntemalFrame
JPane
JSplitPane:拆分窗格。(可自行在新建对象时设置是水平拆分还是垂直拆分。
并且可在之后添加对象,而若想要移动拆分线则需要
使用方法this.setOneTouchExpandable(true);(Expandable:可伸缩)
JLayeredPane
JLabel:显示文本类。也可显示图片,但需要借助new ImageIcon("图片所在地址");
可设置字体样式this.setFont(new Font("宋体",Font.PLAIN,10));
可设置字体颜色this.setForeground(Color.BLUE);
可设置超链接new JLabel("链接");
可设置鼠标的样式,如下方法可是鼠标在该label上变成手型
this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
JApplet
JIntemalFrame
JPane
JSplitPane:拆分窗格。(可自行在新建对象时设置是水平拆分还是垂直拆分。
并且可在之后添加对象,而若想要移动拆分线则需要
使用方法this.setOneTouchExpandable(true);(Expandable:可伸缩)
JLayeredPane
课输入文本的类(Text):
JTextComponent
JTextArea:多行文本框
JEditorPane:
JTextPane:
JTextField:文本输入框,可在初始化的时候自行定义文本框的像素点。
JPasswordField:密码输入文本框
JTextComponent
JTextArea:多行文本框
JEditorPane:
JTextPane:
JTextField:文本输入框,可在初始化的时候自行定义文本框的像素点。
JPasswordField:密码输入文本框
菜单组件Menus:
JMenuBar 菜单条组件 树干
JMenuBar添加到窗口中的方法为this.setJMenuBar(new JMenuBar());
而不是JFrame.add();这种方法是错误的。
JPopuMenu
JMenu 菜单组件 树枝
JMenu里面可以再嵌套JMenu。
可设置助记符:即可使用助记符进行快速操作,方法如下:
this.setMnemonic('F');注意使用的是单引号。!
可添加分割线:方法为:this.addSeparator();
JMenuItem 菜单项组件 树叶
JChekBoxMenuItem
JRadioButtonMenuItem
JSepartor
JMenuBar 菜单条组件 树干
JMenuBar添加到窗口中的方法为this.setJMenuBar(new JMenuBar());
而不是JFrame.add();这种方法是错误的。
JPopuMenu
JMenu 菜单组件 树枝
JMenu里面可以再嵌套JMenu。
可设置助记符:即可使用助记符进行快速操作,方法如下:
this.setMnemonic('F');注意使用的是单引号。!
可添加分割线:方法为:this.addSeparator();
JMenuItem 菜单项组件 树叶
JChekBoxMenuItem
JRadioButtonMenuItem
JSepartor
一些小控件类(widgets):
JButton:按键框,其上面也可以放图片。
放置图片的方法:
new JButton(new ImageIcon("图片地址"));
可设置提示信息的方法为:this.setToolTipText("新建");即当鼠标放在图片上时会显示“新建”
JToggleButton
JCheckBox:复选框组件
JRaioButton:单选框组件。(同一单选按钮必须先创建ButtonGroup,
然后单选框组件放入到ButtonGroup中,
否则可以进行多选。)
JSlider
JToolTip
JButton:按键框,其上面也可以放图片。
放置图片的方法:
new JButton(new ImageIcon("图片地址"));
可设置提示信息的方法为:this.setToolTipText("新建");即当鼠标放在图片上时会显示“新建”
JToggleButton
JCheckBox:复选框组件
JRaioButton:单选框组件。(同一单选按钮必须先创建ButtonGroup,
然后单选框组件放入到ButtonGroup中,
否则可以进行多选。)
JSlider
JToolTip
一些做树形菜单类(Tree):
JComboBox:下拉框组件
JLabd:
JList:列表组件(一般和滚动窗格组件结合使用,
目的是使列表框中的选项可有滚动条支持)
JTree
JToolBar:工具条组件(容器类组件)
JTable
JScrollBar
JProgresBar
JComboBox:下拉框组件
JLabd:
JList:列表组件(一般和滚动窗格组件结合使用,
目的是使列表框中的选项可有滚动条支持)
JTree
JToolBar:工具条组件(容器类组件)
JTable
JScrollBar
JProgresBar
第30讲:
布局管理器:
流式布局管理器(FlowLayout):默认组件是居中对齐的,可以通过FlowLayout(int align)函数来指定对齐方式。
边界布局管理器(BorderLayout)(JFrame、JDialog默认是边界布局):1、继承JFrame 2、定义需要组件
3、创建组件(构造函数中)4、添加组件
5、对窗体设置属性(this.set**),如果想在框上添加图片,即和this.setTitle()放在一起,则需要借助
方法this.setIcomImage();又因为该方法需要的参数是个图片而不是ImageIcon,所以最终可以写成:
this.setIconImage((new ImageIcon("图片地址")).getImage);即通过getImage来变成一个图片参数
中部会自动调整大小
网格布局管理器
卡片布局管理器
网格包布局管理器
流式布局管理器(FlowLayout):默认组件是居中对齐的,可以通过FlowLayout(int align)函数来指定对齐方式。
边界布局管理器(BorderLayout)(JFrame、JDialog默认是边界布局):1、继承JFrame 2、定义需要组件
3、创建组件(构造函数中)4、添加组件
5、对窗体设置属性(this.set**),如果想在框上添加图片,即和this.setTitle()放在一起,则需要借助
方法this.setIcomImage();又因为该方法需要的参数是个图片而不是ImageIcon,所以最终可以写成:
this.setIconImage((new ImageIcon("图片地址")).getImage);即通过getImage来变成一个图片参数
中部会自动调整大小
网格布局管理器
卡片布局管理器
网格包布局管理器