JPanel
➢ 使用Jpanel可以完成各种复杂的界面显示。
➢ 在JPanel中可以加入任意的组件,之后直接将Jpanel容器加入到JFrame容器中即可显示。
应用:可以将多个组件加入到JPanel中实现复杂的排列。
➢ 使用JPanel并结合LayoutManager可以方便地管理组件。
➢ 使用LayoutManager对多个Jpanel进行排列,而每个JPanel中也可以分别使用不同的LayoutManager管理组件,完成对组件进行复杂的排列。
JSplitPane
JSplitPane主要功能是分割面板,可以将一个窗体分为两个子窗体,可以是水平排列也可以是垂直排列。
JSplitPane类的主要方法和常量
No. |
方法及常量 |
类型 |
描述 |
1 |
public static final int HORIZONTAL_ _SPLIT |
常量 |
表示水平分割 |
2 |
public static final int VERTICAL_ SPLIT |
常量 |
表示垂直分割 |
3 |
public JSplitP ane(int newOrientation) |
构造 |
创建对象,并指明分割方式 |
4 |
public JSplitP ane(int newOrient ation, boolean newContinuousLayout, ComponcntnewLeftComponent, Component newRightComponent) |
构造 |
创建对象、指明分割方式、分割条改变是否重绘图象以及两端的显示组件 |
5 |
public void setDividerL ocation( double proportionalLocation) |
普通 |
设置分割条的位置,按百分比 |
6 |
public void sctOneTouchExpandable(boolean newValue) |
普通 |
设置是否提供快速展开折叠的功能 |
7 |
public void setDividerSize(int newSize) |
普通 |
设置分割条大小 |
JTabbedPane
➢ JTabbedPane是在一个面板上设置多个选项卡供用户选择
➢ 如果用户需要查看相关方面信息,直接点开选项卡即可浏览,通过这种方式可以方便的管理相关信息。
No. |
方法及常量 |
类型 |
描述 |
1 |
static final int HORIZONTAL_ SCROLLBAR ALWAYS |
常量 |
始终显示水平滚动条 |
2 |
static final int HORIZONTAL_ SCROLLBAR _NEVER |
常量 |
任何情况下都不显示水平滚动条 |
3 |
static final int HORIZONTAL_ SCROLLBAR_ AS_ NEEDED |
常量 |
根据自身需要显示水平滚动条 |
4 |
static final int VERTICAL SCROLLBAR ALWAYS |
常量 |
始终显示垂直滚动条 |
5 |
static final int VERTICAL_ SCROLLBAR_ NEVER |
常量 |
任何情况下都不显示垂直滚动条 |
6 |
static final int VERTICAL SCROLLBAR AS_ NEEDED |
常量 |
根据自身需要显示垂直滚动条 |
7 |
public JScrolP ane(Component view) |
构造 |
将指定的组件加入滚动条,根据大小显示垂直或水平滚动条 |
8 |
public JScrolP ane(Component view,int vsbPolicy,int hsbPolicy) |
构造 |
将指定的组件加入滚动条,根据需要设置是否显示垂直或水平滚动条 |
9 |
public void setHorizontalSrollB arPolicy(nt policy) |
普通 |
设置水平滚动条的显示策略 |
10 |
public void setVerticalCrollBarPolicy(int policy) |
普通 |
设置垂直滚动条的显示策略 |
JDesktopPane与JInternalFrame
➢ 在Swing中也可以完成内部窗体的显示,在一个窗体中可以显示多个子窗体,每一个子窗体都无法超出父窗体的区域。
➢ JDesktopPane规定了一个父窗口的基本形式。
➢ JInternalFrame规定了各个子窗体,JInternalFrame需 要加入到JDesktopPane之中。
JDesktopPane常用方法
No. |
方法 |
类型 |
描述 |
1 |
public JDesktopPane0 |
构造 |
创建一个JDesktopPane0对象 |
2 |
public void setSelectedFrame(JInternalFrame f) |
普通 |
设置此JDesktopPane中当前活动的普通JInternalFrame |
JInternalFrame常用方法
No. |
方法 |
类型 |
描述 |
1 |
public JInteralFrame(String title) |
构造 |
创建不可调整大小的、不可关闭的、不可最大化的、不可图标化的、具有指定标题的JInternalFrame |
2 |
public JInternalFrame(String title,boolean resizable) |
构造 |
创建不可关闭的、不可最大化的、不可图标化的,以及具有指定标题和可调整大小的JInternalFrame |
3 |
public JIntemalFrame(String title,boolean resizable,boolean closable,boolean maximizable,boolean iconifiable) |
构造 |
创建可调整、可关闭、可最大化、可图标化的JInternalFrame |
JTextComponent的常用方法
No. |
方法 |
类型 |
描述 |
1 |
public String getTextO |
普通 |
返回文本框的所有内容 |
2 |
public String getSelectedText() |
普通 |
返回文本框中选定的内容 |
3 |
public int getSelectionStart() |
普通 |
返回文本框选定内容的开始点 |
4 |
public int getSelectionEnd() |
普通 |
返回文本框选定内容的结束点 |
5 |
public void selectAll() |
普通 |
选择此文本框的所有内容 |
6 |
public void setText(String t) |
普通 |
设置此文本框的内容 |
7 |
public void select(int selectionStart,int selectionEnd) |
普通 |
将指定开始点和结束点之间的内容选定 |
8 |
public void setEditable(boolean b) |
普通 |
设置此文本框是否可编辑 |
单行文本输入组件
➢JTextField组件可 以实现单行文本输入,此类除了使用JTextComponet类的方法外,还可以使用以下的方法
No |
方法 |
类型 |
描述 |
1 |
public JTextField() |
构造 |
构造一个默认的文本框 |
2 |
public JTextField(String text) |
构造 |
构造一个指定文本内容的文本框 |
3 |
public void setColumns(int columns) |
普通 |
设置显示长度 |
密文输入组件JPasswordField
➢ JText是 使用明文方式进行数据显示的。
➢ 如果现在需要将显示的内容设置成其他字符,则可以使用JPasswordField类,常用方法如下:
No |
方法 |
类型 |
描述 |
1 |
public JPasswordField() |
构造 |
构造默认的JPasswordField对象 |
2 |
public JPasswordField(String text) |
构造 |
构造指定内容的JPasswordField对象 |
3 |
public char getEchoChar() |
构造 |
设置回显的字符,默认为“*” |
4 |
public char getEchoChar() |
构造 |
得到回显的字符 |
5 |
public char[] getPassword() |
构造 |
得到此文本框的所有内容 |
多行文本输入组件: JTextArea
➢如果要想输入多行文本,则可以使用JTextArea实现多行文本的输入,此类扩展了JTextComponent类
No |
方法 |
类型 |
描述 |
1 |
public JTextAreaO |
构造 |
构造文本域,行数和列数为0 |
2 |
public JTextArea(int rows,int columns)构造 |
构造文本域,指定文本域的行数和列数 |
|
3 |
public JTextArea(String text,int rows,int columns) |
构造 |
指定构造文本域的内容、行数和列数 |
4 |
public void append(String str) |
普通 |
在文本域中追加内容 |
5 |
public void replaceRange(String str,int start,int end) |
普通 |
替换文本域中指定范围的内容 |
6 |
public void insert(String str,int pos) |
普通 |
在指定位置插入文本 |
7 |
public void setLineWrap(boolean wrap) |
普通 |
设置换行策略 |
事件和监听器
➢ 要想让组件发挥作用,必须对所有的组件进行事件处理。
➢ Java中使用事件表示一个对象的状态发生变化。例如当按钮按下时,实际上按钮的状态发生了变化,此时就会产生一个事件,如果要想处理此事件,就需要事件的监听者能不断的监听事件的变化,并根据这些事件进行相应的处理。
在Swing编程中,所有的事件类都是EventObject类的子类
窗体事件
➢WindowListener是专门处理窗体的事件监听接口,窗体的所有变化都可以使用这个接口进行监听。
No |
方法 |
类型 |
描述 |
1 |
void windowActivated(WindowEvent e) |
普通 |
将窗口变为活动窗口时触发 |
2 |
void windowDeactivated(WindowEvent e) |
普通 |
将窗口变为不活动窗口时触发 |
3 |
void windowClosed(WindowEvent e) |
普通 |
当窗口被关闭时触发 |
4 |
void windowClosing(WindowEvent e) |
普通 |
当窗口正在关闭时触发 |
5 |
void windowIconified(WindowEvent e) |
普通 |
窗口最小化时触发 |
6 |
void windowDeiconified(WindowEvent e) |
普通 |
窗口从最小化恢复到正常状态时触发 |
7 |
void windowOpened(WindowEvent e) |
普通 |
窗口打开时触发 |
动作事件,及监听处理
➢ 一个按钮想要让其变得有意义,就必须使用事件处理,在Swing的事件处理中,可以使用ActionListener接口处理按钮的动作事件。
Act ionL istener接口只定义了一个方法。
No |
方法 |
类型 |
描述 |
1 |
void actionPerformed(ActionEvent e) |
普通 |
发生操作时调用 |