Swing
课程:14、Swing之JFrame窗体_哔哩哔哩_bilibili
一.JFrame和容器
Constructor and Description |
---|
JFrame() 构造一个最初不可见的新框架。 |
JFrame(GraphicsConfiguration gc) 在屏幕设备的指定 |
JFrame(String title) 创建一个新的,最初不可见的 |
JFrame(String title, GraphicsConfiguration gc) 创建 |
方法
protected void | addImpl(Component comp, Object constraints, int index) 添加指定的孩子 |
protected JRootPane | createRootPane() 由构造函数调用方法创建默认值 |
protected void | frameInit() 由构造函数调用正确地初始化 |
AccessibleContext | getAccessibleContext() 获取与此JFrame关联的AccessibleContext。 |
Container | getContentPane() 返回此框架的 |
int | getDefaultCloseOperation() 返回当用户在此框架上启动“关闭”时发生的操作。 |
Component | getGlassPane() 返回此框架的 |
Graphics | getGraphics() 为此组件创建图形上下文。 |
JMenuBar | getJMenuBar() 返回在此框架上设置的菜单栏。 |
JLayeredPane | getLayeredPane() 返回此框架的 |
JRootPane | getRootPane() 返回此框架的 |
TransferHandler | getTransferHandler() 获取 |
static boolean | isDefaultLookAndFeelDecorated() 如果新创建的 |
protected boolean | isRootPaneCheckingEnabled()
|
protected String | paramString() 返回此 |
protected void | processWindowEvent(WindowEvent e) 处理在此组件上发生的窗口事件。 |
void | remove(Component comp) 从容器中删除指定的组件。 |
void | repaint(long time, int x, int y, int width, int height) 在time毫秒内 |
void | setContentPane(Container contentPane) 设置 |
void | setDefaultCloseOperation(int operation) 设置用户在此框架上启动“关闭”时默认执行的操作。 |
static void | setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated) 提供关于新创建的 |
void | setGlassPane(Component glassPane) 设置 |
void | setIconImage(Image image) 将要显示的图像设置为此窗口的图标。 |
void | setJMenuBar(JMenuBar menubar) 设置此帧的菜单栏。 |
void | setLayeredPane(JLayeredPane layeredPane) 设置 |
void | setLayout(LayoutManager manager) 设置 |
protected void | setRootPane(JRootPane root) 设置 |
protected void | setRootPaneCheckingEnabled(boolean enabled) 设置是否向 |
void | setTransferHandler(TransferHandler newHandler) 设置 |
void | update(Graphics g) 只要打 |
Constructor and Description |
---|
Container() 构造一个新的容器。 |
方法
Modifier and Type | Method and Description |
---|---|
Component | add(Component comp) 将指定的组件附加到此容器的末尾。 |
Component | add(Component comp, int index) 在给定的位置将指定的组件添加到此容器。 |
void | add(Component comp, Object constraints) 将指定的组件添加到此容器的末尾。 |
void | add(Component comp, Object constraints, int index) 将指定的组件添加到指定索引处的指定约束的容器中。 |
Component | add(String name, Component comp) 将指定的组件添加到此容器。 |
void | addContainerListener(ContainerListener l) 添加指定的容器侦听器以从此容器接收容器事件。 |
protected void | addImpl(Component comp, Object constraints, int index) 在指定的索引处将指定的组件添加到此容器。 |
void | addNotify() 通过将此容器连接到本机屏幕资源来使此容器显示。 |
void | addPropertyChangeListener(PropertyChangeListener listener) 将PropertyChangeListener添加到侦听器列表。 |
void | addPropertyChangeListener(String propertyName, PropertyChangeListener listener) 将PropertyChangeListener添加到特定属性的侦听器列表中。 |
void | applyComponentOrientation(ComponentOrientation o) 设置此 |
boolean | areFocusTraversalKeysSet(int id) 返回是否为此容器显式定义了给定焦点遍历操作的聚焦遍历键集。 |
int | countComponents() 已弃用 从JDK 1.1版开始,由getComponentCount()替换。 |
void | deliverEvent(Event e) 已弃用 截至JDK 1.1版,由 |
void | doLayout() 使此容器布置其组件。 |
Component | findComponentAt(int x, int y) 找到包含指定位置的可见子组件。 |
Component | findComponentAt(Point p) 找到包含指定点的可见子组件。 |
float | getAlignmentX() 返回沿x轴的对齐方式。 |
float | getAlignmentY() 返回沿着y轴的对齐。 |
Component | getComponent(int n) 获取此容器中的第n个组件。 |
Component | getComponentAt(int x, int y) 找到包含x,y位置的组件。 |
Component | getComponentAt(Point p) 获取包含指定点的组件。 |
int | getComponentCount() 获取此面板中的组件数量。 |
Component[] | getComponents() 获取此容器中的所有组件。 |
int | getComponentZOrder(Component comp) 返回容器内组件的z-order索引。 |
ContainerListener[] | getContainerListeners() 返回在此容器上注册的所有容器侦听器的数组。 |
Set<AWTKeyStroke> | getFocusTraversalKeys(int id) 返回此Container的给定遍历操作的聚焦遍历键集。 |
FocusTraversalPolicy | getFocusTraversalPolicy() 返回将管理此Container的子项的键盘遍历的焦点遍历策略,如果此Container不是焦点循环根,则返回null。 |
Insets | getInsets() 确定此容器的插入,这表示容器边框的大小。 |
LayoutManager | getLayout() 获取此容器的布局管理器。 |
<T extends EventListener> | getListeners(类<T> listenerType) 返回当前注册为 |
Dimension | getMaximumSize() 返回此容器的最大大小。 |
Dimension | getMinimumSize() 返回此容器的最小大小。 |
Point | getMousePosition(boolean allowChildren) 如果 |
Dimension | getPreferredSize() 返回此容器的首选大小。 |
Insets | insets() 已弃用 从JDK 1.1版开始,由 |
void | invalidate() 使容器无效。 |
boolean | isAncestorOf(Component c) 检查组件是否包含在此容器的组件层次结构中。 |
boolean | isFocusCycleRoot() 返回此容器是否是焦点遍历循环的根。 |
boolean | isFocusCycleRoot(Container container) 返回指定的Container是否是此Container的焦点遍历循环的焦点循环根。 |
boolean | isFocusTraversalPolicyProvider() 返回此容器是否提供焦点遍历策略。 |
boolean | isFocusTraversalPolicySet() 返回是否为此Container显式设置了重点遍历策略。 |
boolean | isValidateRoot() 指示此容器是否为 验证根 。 |
void | layout() 已弃用 从JDK 1.1版开始,由 |
void | list(PrintStream out, int indent) 将此容器的列表打印到指定的输出流。 |
void | list(PrintWriter out, int indent) 从指定的缩进开始列出指定的打印作者的列表。 |
Component | locate(int x, int y) 已弃用 自JDK版本1.1起,由 |
Dimension | minimumSize() 已弃用 截至JDK 1.1版,由 |
void | paint(Graphics g) 涂上容器 |
void | paintComponents(Graphics g) 涂抹此容器中的每个组件。 |
protected String | paramString() 返回一个表示此 |
Dimension | preferredSize() 已弃用 从JDK 1.1版开始,替换为 |
void | print(Graphics g) 打印容器。 |
void | printComponents(Graphics g) 打印此容器中的每个组件。 |
protected void | processContainerEvent(ContainerEvent e) 通过将容器事件发送到任何已注册的ContainerListener对象来处理容器事件。 |
protected void | processEvent(AWTEvent e) 处理此容器上的事件。 |
void | remove(Component comp) 从此容器中删除指定的组件。 |
void | remove(int index) 去除组件,通过指定 |
void | removeAll() 从此容器中删除所有组件。 |
void | removeContainerListener(ContainerListener l) 删除指定的容器侦听器,使其不再从此容器接收容器事件。 |
void | removeNotify() 通过删除其与其本机屏幕资源的连接,使此容器不可显示。 |
void | setComponentZOrder(Component comp, int index) 将指定的组件移动到容器中指定的z顺序索引。 |
void | setFocusCycleRoot(boolean focusCycleRoot) 设置此容器是否是焦点遍历循环的根。 |
void | setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes) 设置此容器的给定遍历操作的焦点遍历键。 |
void | setFocusTraversalPolicy(FocusTraversalPolicy policy) 设置焦点遍历策略,将管理此Container的子项的键盘遍历,如果此Container是焦点循环根。 |
void | setFocusTraversalPolicyProvider(boolean provider) 设置此容器是否将用于提供焦点遍历策略。 |
void | setFont(Font f) 设置此容器的字体。 |
void | setLayout(LayoutManager mgr) 设置此容器的布局管理器。 |
void | transferFocusDownCycle() 将焦点转移到一个焦点遍历周期。 |
void | update(Graphics g) 更新容器。 |
void | validate() 验证此容器及其所有子组件。 |
protected void | validateTree() 递归地下降容器树,并重新计算标记为需要的任何子树(标记为无效的)的布局。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
public class JFrameTest {
public static void main(String[] args) {
new MyJFrame().init();
}
}
class MyJFrame extends JFrame{
// 使用init初始化窗口
public void init() {
// 由于继承关系,有些设置是一样的
setTitle("fuck");
setBounds(200,200,200,200);
setVisible(true);
// 设置字体,后面参数是设置为居中显示
JLabel jLabel = new JLabel("Fuck",SwingConstants.CENTER);
// 将字体添加到窗口
add(jLabel);
// 获取一个容器,容器的颜色才是真正的颜色,这点与Frame不同
Container container = this.getContentPane();
container.setBackground(Color.yellow);
// 关闭事件
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
二.JDialog弹窗
Constructor and Description |
---|
JDialog() 创建一个没有标题的无模式对话框,没有指定的 |
JDialog(Dialog owner) 使用指定的 |
JDialog(Dialog owner, boolean modal) 创建一个具有空标题和指定模态的对话框,并以其所有者为 |
JDialog(Dialog owner, String title) 使用指定的标题和指定的所有者对话框创建无模式对话框。 |
JDialog(Dialog owner, String title, boolean modal) 创建一个具有指定标题,模态和指定所有者的 |
JDialog(Dialog owner, String title, boolean modal, GraphicsConfiguration gc) 创建一个具有指定标题的对话框,所有者为 |
JDialog(Frame owner) 创建一个无模式对话框,其中指定的是 |
JDialog(Frame owner, boolean modal) 创建一个具有空标题和指定模态的对话框,并以 |
JDialog(Frame owner, String title) 使用指定的标题和指定的所有者框架创建无模式对话框。 |
JDialog(Frame owner, String title, boolean modal) 创建一个具有指定标题的对话框,所有者为 |
JDialog(Frame owner, String title, boolean modal, GraphicsConfiguration gc) 创建一个具有指定标题的对话框,所有者为 |
JDialog(Window owner) 创建一个无模式的对话框,其中指定的是 |
JDialog(Window owner, Dialog.ModalityType modalityType) 创建一个具有空标题和指定模式的对话框,并以其所有者身份创建 |
JDialog(Window owner, String title) 使用指定的标题和所有者创建一个无模式对话框 |
JDialog(Window owner, String title, Dialog.ModalityType modalityType) 创建一个具有指定标题的对话框,所有者为 |
JDialog(Window owner, String title, Dialog.ModalityType modalityType, GraphicsConfiguration gc) 创建一个具有指定标题的对话框,所有者为 |
方法
Modifier and Type | Method and Description |
---|---|
protected void | addImpl(Component comp, Object constraints, int index) 添加指定的小孩 |
protected JRootPane | createRootPane() 由构造函数调用方法创建默认值 |
protected void | dialogInit() 由构造函数调用正确地初始化 |
AccessibleContext | getAccessibleContext() 获取与此JDialog关联的AccessibleContext。 |
Container | getContentPane() 返回此对话框的 |
int | getDefaultCloseOperation() 返回用户在此对话框上启动“关闭”时发生的操作。 |
Component | getGlassPane() 返回此对话框的 |
Graphics | getGraphics() 为此组件创建图形上下文。 |
JMenuBar | getJMenuBar() 返回此对话框上的菜单栏。 |
JLayeredPane | getLayeredPane() 返回此对话框的 |
JRootPane | getRootPane() 返回此对话框的 |
TransferHandler | getTransferHandler() 获取 |
static boolean | isDefaultLookAndFeelDecorated() 如果新创建的 |
protected boolean | isRootPaneCheckingEnabled() 返回是否向 |
protected String | paramString() 返回此 |
protected void | processWindowEvent(WindowEvent e) 根据 |
void | remove(Component comp) 从容器中删除指定的组件。 |
void | repaint(long time, int x, int y, int width, int height) 在time毫秒内 |
void | setContentPane(Container contentPane) 设置 |
void | setDefaultCloseOperation(int operation) 设置用户在此对话框上启动“关闭”时默认执行的操作。 |
static void | setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated) 提供一个提示,即新创建的 |
void | setGlassPane(Component glassPane) 设置 |
void | setJMenuBar(JMenuBar menu) 设置此对话框的菜单栏。 |
void | setLayeredPane(JLayeredPane layeredPane) 设置 |
void | setLayout(LayoutManager manager) 设置 |
protected void | setRootPane(JRootPane root) 设置 |
protected void | setRootPaneCheckingEnabled(boolean enabled) 设置是否向 |
void | setTransferHandler(TransferHandler newHandler) 设置 |
void | update(Graphics g) 致电 |
用来被弹出,默认有关闭事件
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class JDialogTest {
public static void main(String[] args) {
new JDialogSwingTest();
}
}
class JDialogSwingTest extends JFrame {
public JDialogSwingTest() {
// 基础设置
setTitle("主窗口");
setVisible(true);
setBounds(100,100,400,800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 容器:放东西
Container container = getContentPane();
// 设置为绝对布局:组件大小固定,不可改变,组件的大小必须设置
container.setLayout(null);
// 按钮启动弹出
JButton jButton = new JButton("Fuck");
jButton.setBounds(30,30,100,50);
// 监听器
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new MyDialog();
}
});
// 将按钮放进容器
container.add(jButton);
}
// 弹窗
private class MyDialog extends JDialog {
public MyDialog() {
// 弹窗的基础设置
setTitle("fuck");
setVisible(true);
setBounds(200,500,300,300);
// 对于弹窗来说不用再设置退出监听了,默认可以直接退出
// 设置了绝对布局,组件就必须设置大小
Container container = getContentPane();
container.setLayout(null);
// 将字体放进容器
JLabel jLabel1=new JLabel("JDialog弹窗",SwingConstants.CENTER);
jLabel1.setBounds(0,0,400,400);
container.add(jLabel1);
}
}
}
三.图标标签ICON
Constructor and Description |
---|
JLabel() 创建一个没有图像的 |
JLabel(Icon image) 使用指定的图像创建一个 |
JLabel(Icon image, int horizontalAlignment) 创建一个具有指定图像和水平对齐的 |
JLabel(String text) 使用指定的文本创建一个 |
JLabel(String text, Icon icon, int horizontalAlignment) 创建具有 |
JLabel(String text, int horizontalAlignment) 创建一个具有指定文本和水平对齐的 |
方法
protected int | checkHorizontalKey(int key, String message) 验证该键是horizontalAlignment属性的合法值。 |
protected int | checkVerticalKey(int key, String message) 验证该键是verticalAlignment或verticalTextPosition属性的合法值。 |
AccessibleContext | getAccessibleContext() 获取此对象的AccessibleContext |
Icon | getDisabledIcon() 返回标签禁用时使用的图标。 |
int | getDisplayedMnemonic() 返回指示助记键的键码。 |
int | getDisplayedMnemonicIndex() 返回字符,作为索引,外观和感觉应提供装饰用于表示助记符。 |
int | getHorizontalAlignment() 返回标签内容沿X轴的对齐方式。 |
int | getHorizontalTextPosition() 返回标签相对于其图像的文本的水平位置。 |
Icon | getIcon() 返回标签显示的图形图像(字形,图标)。 |
int | getIconTextGap() 返回文本与此标签中显示的图标之间的空间量。 |
Component | getLabelFor() 获取此标签的组件。 |
String | getText() 返回标签显示的文本字符串。 |
LabelUI | getUI() 返回渲染此组件的L&F对象。 |
String | getUIClassID() 返回一个字符串,指定呈现此组件的l&f类的名称。 |
int | getVerticalAlignment() 返回标签内容沿着Y轴的对齐方式。 |
int | getVerticalTextPosition() 返回标签相对于其图像的文本的垂直位置。 |
boolean | imageUpdate(Image img, int infoflags, int x, int y, int w, int h) 如果当前图标的图像不等于图像 |
protected String | paramString() 返回该JLabel的字符串表示形式。 |
void | setDisabledIcon(Icon disabledIcon) 如果此JLabel为“禁用”(JLabel.setEnabled(false)),请设置要显示的图标。 |
void | setDisplayedMnemonic(char aChar) 指定显示的助记符为char值。 |
void | setDisplayedMnemonic(int key) 指定一个指示助记键的键码。 |
void | setDisplayedMnemonicIndex(int index) 提供关于文字中哪个字符应该被装饰以表示助记符的外观和感觉的提示。 |
void | setHorizontalAlignment(int alignment) 设置标签内容沿着X轴的对齐方式。 |
void | setHorizontalTextPosition(int textPosition) 设置标签文本相对于其图像的水平位置。 |
void | setIcon(Icon icon) 定义该组件将显示的图标。 |
void | setIconTextGap(int iconTextGap) 如果设置了图标和文本属性,则此属性定义它们之间的空格。 |
void | setLabelFor(Component c) 设置标签的组件。 |
void | setText(String text) 定义该组件将显示的单行文本。 |
void | setUI(LabelUI ui) 设置渲染此组件的L&F对象。 |
void | setVerticalAlignment(int alignment) 设置标签内容沿着Y轴的对齐方式。 |
void | setVerticalTextPosition(int textPosition) 设置标签文本相对于其图像的垂直位置。 |
void | updateUI() 将UI属性重置为当前外观的值。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
public class IconTest extends JFrame implements Icon {
private int width,height;
public IconTest() {
}
public IconTest(int width, int height) {
this.width = width;
this.height = height;
}
public static void main(String[] args) {
new IconTest().init();
}
public void init(){
// 设置标签
JLabel label = new JLabel("标签图标", new IconTest(10, 10), SwingConstants.CENTER);
// 放进容器
Container container = this.getContentPane();
container.add(label);
// 设置窗口
this.setBounds(10,10,400,800);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// 参数为组件,画笔,大小
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
//画笔 画图标 创建对象后,默认自动画一次
g.fillOval(x,y,width,height);
}
@Override
public int getIconWidth() {
return this.width;
}
@Override
public int getIconHeight() {
return this.height;
}
}
二.将图片放进标签
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class IconDemoTest extends JFrame {
public IconDemoTest(){
// 标签设置
JLabel label = new JLabel("ImageIcon",SwingConstants.CENTER);
// 获取图片的地址,找到ImageIcon_类的同级目录下的1.jpg文件
URL url = IconDemoTest.class.getResource("one.jpg");
ImageIcon imageIcon = new ImageIcon(url);
label.setIcon(imageIcon);
// 容器
Container container = getContentPane();
container.add(label);
// 面板
setBounds(100,100,400,400);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new IconDemoTest();
}
}
类加载器问题:ClassLoader的getResourceAsStream方法使用及在java和web项目中的路径问题_loader.getresourceasstream-CSDN博客
四.面板
1.Jpanel
Constructor and Description |
---|
JPanel() 创建一个新的 |
JPanel(boolean isDoubleBuffered) 创建一个新的 |
JPanel(LayoutManager layout) 使用指定的布局管理器创建一个新的缓冲JPanel |
JPanel(LayoutManager layout, boolean isDoubleBuffered) 使用指定的布局管理器和缓冲策略创建一个新的JPanel。 |
方法
Modifier and Type | Method and Description |
---|---|
AccessibleContext | getAccessibleContext() 获取与此JPanel关联的AccessibleContext。 |
PanelUI | getUI() 返回渲染此组件的外观和感觉(L&amp; F)对象。 |
String | getUIClassID() 返回一个字符串,它指定呈现此组件的L&F类的名称。 |
protected String | paramString() 返回此JPanel的字符串表示形式。 |
void | setUI(PanelUI ui) 设置渲染此组件的外观和感觉(L&F)对象。 |
void | updateUI() 将UI属性重新设置为来自当前外观的值。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
public class JPanelTest extends JFrame {
public JPanelTest() {
// 容器
Container container = this.getContentPane();
container.setLayout(new GridLayout(2,1,10,10));
// 四个面板与添加按钮
JPanel panel1 = new JPanel(new GridLayout(1, 3));
JPanel panel2 = new JPanel(new GridLayout(1, 2));
JPanel panel3 = new JPanel(new GridLayout(2, 1));
JPanel panel4 = new JPanel(new GridLayout(3,2));
panel1.add(new JButton("1"));
panel1.add(new JButton("1"));
panel1.add(new JButton("1"));
container.add(panel1);
panel2.add(new JButton("2"));
panel2.add(new JButton("2"));
container.add(panel2);
panel3.add(new JButton("3"));
panel3.add(new JButton("3"));
container.add(panel3);
panel4.add(new JButton("4"));
panel4.add(new JButton("4"));
panel4.add(new JButton("4"));
panel4.add(new JButton("4"));
panel4.add(new JButton("4"));
panel4.add(new JButton("4"));
container.add(panel4);
// 窗口
this.setVisible(true);
this.setSize(800,800);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JPanelTest();
}
}
2.滑动面板JScrollPane
Constructor and Description |
---|
JScrollPane() 创建一个空( |
JScrollPane(Component view) 创建一个 |
JScrollPane(Component view, int vsbPolicy, int hsbPolicy) 创建一个 |
JScrollPane(int vsbPolicy, int hsbPolicy) 使用指定的滚动条策略创建一个空( |
方法
Modifier and Type | Method and Description |
---|---|
JScrollBar | createHorizontalScrollBar() 默认情况下返回 |
JScrollBar | createVerticalScrollBar() 默认返回 |
protected JViewport | createViewport() 默认情况下返回一个新的 |
AccessibleContext | getAccessibleContext() 获取与此JScrollPane关联的AccessibleContext。 |
JViewport | getColumnHeader() 返回列标题。 |
Component | getCorner(String key) 返回指定角落的组件。 |
JScrollBar | getHorizontalScrollBar() 返回控制视口水平视图位置的水平滚动条。 |
int | getHorizontalScrollBarPolicy() 返回水平滚动条策略值。 |
JViewport | getRowHeader() 返回行标题。 |
ScrollPaneUI | getUI() 返回渲染此组件的外观和感觉(L&F)对象。 |
String | getUIClassID() 返回用于构造用于呈现此组件的L&F类的名称的后缀。 |
JScrollBar | getVerticalScrollBar() 返回控制视口垂直视图位置的垂直滚动条。 |
int | getVerticalScrollBarPolicy() 返回垂直滚动条策略值。 |
JViewport | getViewport() 返回当前的 |
Border | getViewportBorder() 返回视口 |
Rectangle | getViewportBorderBounds() 返回视口边框的边界。 |
boolean | isValidateRoot() 重写以返回true,这样任何电话 |
boolean | isWheelScrollingEnabled() 指示是否会响应于鼠标滚轮进行滚动。 |
protected String | paramString() 返回此 |
void | setColumnHeader(JViewport columnHeader) 删除旧的columnHeader(如果存在) 如果新的columnHeader不是 |
void | setColumnHeaderView(Component view) 如果需要,创建列标题视口,设置其视图,然后将列标题视口添加到滚动页面。 |
void | setComponentOrientation(ComponentOrientation co) 设置由ComponentOrientation参数确定的垂直和水平滚动条的 |
void | setCorner(String key, Component corner) 添加一个孩子,出现在一个滚动窗格的角落,如果有空间。 |
void | setHorizontalScrollBar(JScrollBar horizontalScrollBar) 将控制视口的水平视图位置的滚动条添加到滚动条。 |
void | setHorizontalScrollBarPolicy(int policy) 确定水平滚动条何时出现在滚动条中。 |
void | setLayout(LayoutManager layout) 设置此 |
void | setRowHeader(JViewport rowHeader) 删除旧的行阅读器(如果存在) 如果新的rowHeader不是 |
void | setRowHeaderView(Component view) 如果需要,创建行标题视口,设置其视图,然后将行标题视口添加到滚动条。 |
void | setUI(ScrollPaneUI ui) 设置为该 |
void | setVerticalScrollBar(JScrollBar verticalScrollBar) 将控制视口垂直视图位置的滚动条添加到滚动条。 |
void | setVerticalScrollBarPolicy(int policy) 确定滚动条中何时出现垂直滚动条。 |
void | setViewport(JViewport viewport) 删除旧的视口(如果有的话); 迫使新视口的观点位于+ x,+ y象限中; 使用新的视口同步行和列标题(如果有的话); 最后使用新的视口同步滚动条和标题。 |
void | setViewportBorder(Border viewportBorder) 在视口周围添加一个边框。 |
void | setViewportView(Component view) 如果需要,创建一个视口,然后设置它的视图。 |
void | setWheelScrollingEnabled(boolean handleWheel) 响应于鼠标滚轮的移动启用/禁用滚动。 |
void | updateUI() 将当前的 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
public class JScrollPaneTest extends JFrame {
public JScrollPaneTest() throws HeadlessException {
// 容器
Container container = this.getContentPane();
// 设置一个文本域 文本域可以换行,而文本框不行
// 设置起始行列数,行列可变化
JTextArea textArea = new JTextArea(20,30);
textArea.setText("滑动面板的文本域,有换行功能");
// JScrollPane面板
JScrollPane scrollPane = new JScrollPane(textArea);
container.add(scrollPane);
// 窗口
setVisible(true);
setBounds(100,100,200,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JScrollPaneTest();
}
}
五.按钮
1.图标按钮:
把一个图标变为一个按钮图标
Constructor and Description |
---|
JButton() 创建一个没有设置文本或图标的按钮。 |
JButton(Action a) 创建一个按钮,其中的属性取自提供的 |
JButton(Icon icon) 创建一个带有图标的按钮。 |
JButton(String text) 创建一个带文本的按钮。 |
JButton(String text, Icon icon) 创建一个带有初始文本和图标的按钮。 |
方法
Modifier and Type | Method and Description |
---|---|
AccessibleContext | getAccessibleContext() 获取 |
String | getUIClassID() 返回一个字符串,它指定呈现此组件的L&F类的名称。 |
boolean | isDefaultButton() 获取 |
boolean | isDefaultCapable() 获取 |
protected String | paramString() 返回此 |
void | removeNotify() 覆盖 |
void | setDefaultCapable(boolean defaultCapable) 设置 |
void | updateUI() 将UI属性重置为当前外观的值。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
import java.net.URL;
/**
* 设置一个图标按钮 加了一个按钮提示方法
* 将一个图片变为图标
*/
public class JButtonIconTest extends JFrame {
public JButtonIconTest() throws HeadlessException {
Container container = getContentPane();
//将一个图片变成图标
URL url = JButtonIconTest.class.getResource("one.jpg");
ImageIcon imageIcon = new ImageIcon(url);
//把这个图标放在按钮上
JButton button = new JButton();
button.setIcon(imageIcon);
//设置提示按钮,鼠标放到按钮上面会弹出一些提示
button.setToolTipText("图片按钮");
container.add(button);
setSize(500,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonIconTest();
}
}
2.单选按钮
Constructor and Description |
---|
JRadioButton() 创建一个没有设置文本的最初未选择的单选按钮。 |
JRadioButton(Action a) 创建一个单选按钮,其中从提供的Action提取属性。 |
JRadioButton(Icon icon) 创建一个初始未选择的单选按钮与指定的图像,但没有文字。 |
JRadioButton(Icon icon, boolean selected) 创建具有指定图像和选择状态的单选按钮,但不包含文本。 |
JRadioButton(String text) 使用指定的文本创建一个未选择的单选按钮。 |
JRadioButton(String text, boolean selected) 创建具有指定文本和选择状态的单选按钮。 |
JRadioButton(String text, Icon icon) 创建具有指定文本和图像的单选按钮,最初未被选择。 |
JRadioButton(String text, Icon icon, boolean selected) 创建具有指定文本,图像和选择状态的单选按钮。 |
方法
Modifier and Type | Method and Description |
---|---|
AccessibleContext | getAccessibleContext() 获取与此JRadioButton关联的AccessibleContext。 |
String | getUIClassID() 返回呈现此组件的L&F类的名称。 |
protected String | paramString() 返回此JRadioButton的字符串表示形式。 |
void | updateUI() 将UI属性重置为当前外观的值。 |
Constructor and Description |
---|
ButtonGroup() 创建一个新的 |
方法
Modifier and Type | Method and Description |
---|---|
void | add(AbstractButton b) 将按钮添加到组。 |
void | clearSelection() 清除选择,使得没有选择 |
int | getButtonCount() 返回组中按钮的数量。 |
Enumeration<AbstractButton> | getElements() 返回参与此组的所有按钮。 |
ButtonModel | getSelection() 返回所选按钮的型号。 |
boolean | isSelected(ButtonModel m) 返回是否选择 |
void | remove(AbstractButton b) 从组中删除按钮。 |
void | setSelected(ButtonModel m, boolean b) 设置 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
public class JButtonOneTest extends JFrame {
public void init(){
Container container = getContentPane();
//单选框
JRadioButton radioButton1 = new JRadioButton("JRdioButton1");
JRadioButton radioButton2 = new JRadioButton("JRdioButton2");
JRadioButton radioButton3 = new JRadioButton("JRdioButton3");
//由于是单选框,需要准备一个组,让三个按钮在这组内实现单选功能
ButtonGroup group = new ButtonGroup();
group.add(radioButton1);
group.add(radioButton2);
group.add(radioButton3);
//将按钮添加进来,不是将组添加进来!! 要设置按钮的位置,避免出现覆盖现象
container.add(radioButton1,BorderLayout.NORTH);
container.add(radioButton2,BorderLayout.CENTER);
container.add(radioButton3,BorderLayout.SOUTH);
setSize(500,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonOneTest().init();
}
}
3. 复选按钮
Constructor and Description |
---|
JCheckBox() 创建一个最初未选择的复选框按钮,没有文字,没有图标。 |
JCheckBox(Action a) 创建一个复选框,其中从提供的操作中获取属性。 |
JCheckBox(Icon icon) 创建一个带有图标的最初未选中的复选框。 |
JCheckBox(Icon icon, boolean selected) 创建一个带有图标的复选框,并指定是否最初选择它。 |
JCheckBox(String text) 创建一个最初未选择的复选框与文本。 |
JCheckBox(String text, boolean selected) 创建一个带有文本的复选框,并指定是否最初选择它。 |
JCheckBox(String text, Icon icon) 使用指定的文本和图标创建最初未选择的复选框。 |
JCheckBox(String text, Icon icon, boolean selected) 创建一个带有文本和图标的复选框,并指定是否最初选择它。 |
方法
Modifier and Type | Method and Description |
---|---|
AccessibleContext | getAccessibleContext() 获取与此JCheckBox关联的AccessibleContext。 |
String | getUIClassID() 返回一个字符串,它指定呈现此组件的L&F类的名称。 |
boolean | isBorderPaintedFlat() 获取 |
protected String | paramString() 返回此JCheckBox的字符串表示形式。 |
void | setBorderPaintedFlat(boolean b) 设置 |
void | updateUI() 将UI属性重置为当前外观的值。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
public class JButtonTwoTest extends JFrame {
public void init(){
Container container = getContentPane();
//多选框
JCheckBox checkBox1 = new JCheckBox("checkBox1");
JCheckBox checkBox2 = new JCheckBox("checkBox2");
JCheckBox checkBox3 = new JCheckBox("checkBox3");
container.add(checkBox1,BorderLayout.NORTH);
container.add(checkBox2,BorderLayout.CENTER);
container.add(checkBox3,BorderLayout.SOUTH);
setSize(500,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonTwoTest().init();
}
}
六.列表
1.下拉框
Constructor and Description |
---|
JComboBox() 使用默认数据模型创建 |
JComboBox(ComboBoxModel<E> aModel) 创建一个 |
JComboBox(E[] items) 创建 |
JComboBox(Vector<E> items) 创建一个 |
方法
Modifier and Type | Method and Description |
---|---|
void | actionPerformed(ActionEvent e) 这种方法是公共的,作为实现的副作用。 |
protected void | actionPropertyChanged(Action action, String propertyName) 响应关联操作中的属性更改更新组合框的状态。 |
void | addActionListener(ActionListener l) 添加一个 |
void | addItem(E item) 将项目添加到项目列表。 |
void | addItemListener(ItemListener aListener) 添加一个 |
void | addPopupMenuListener(PopupMenuListener l) 添加一个 |
void | configureEditor(ComboBoxEditor anEditor, Object anItem) 用指定的项目初始化编辑器。 |
protected void | configurePropertiesFromAction(Action a) 设置此组合框上的属性,以匹配指定的Action中的 |
void | contentsChanged(ListDataEvent e) 这种方法是公共的,作为实现的副作用。 |
protected PropertyChangeListener | createActionPropertyChangeListener(Action a) 创建并返回一个 |
protected JComboBox.KeySelectionManager | createDefaultKeySelectionManager() 返回默认密钥选择管理器的一个实例。 |
protected void | fireActionEvent() 通知所有在此事件类型上通知有兴趣的听众。 |
protected void | fireItemStateChanged(ItemEvent e) 通知所有在此事件类型上通知有兴趣的听众。 |
void | firePopupMenuCanceled() 通知 |
void | firePopupMenuWillBecomeInvisible() 通知 |
void | firePopupMenuWillBecomeVisible() 通知 |
AccessibleContext | getAccessibleContext() 获取与此JComboBox关联的AccessibleContext。 |
Action | getAction() 返回当前设置 |
String | getActionCommand() 返回发送到动作侦听器的事件中包含的动作命令。 |
ActionListener[] | getActionListeners() 返回使用addActionListener()添加到此JComboBox的所有 |
ComboBoxEditor | getEditor() 返回在 |
E | getItemAt(int index) 返回指定索引处的列表项。 |
int | getItemCount() 返回列表中的项目数。 |
ItemListener[] | getItemListeners() 返回使用addItemListener()添加到此JComboBox的所有 |
JComboBox.KeySelectionManager | getKeySelectionManager() 返回列表的密钥选择管理器。 |
int | getMaximumRowCount() 返回在没有滚动条的情况下组合框可以显示的最大项数 |
ComboBoxModel<E> | getModel() 返回当前使用的数据模型 |
PopupMenuListener[] | getPopupMenuListeners() 返回使用addPopupMenuListener()添加到此JComboBox的所有 |
E | getPrototypeDisplayValue() 返回“原型显示”值 - 用于计算显示高度和宽度的对象。 |
ListCellRenderer<? super E> | getRenderer() 返回用于在 |
int | getSelectedIndex() 返回列表中与给定项目匹配的第一个项目。 |
Object | getSelectedItem() 返回当前所选项目。 |
Object[] | getSelectedObjects() 返回一个包含所选项目的数组。 |
ComboBoxUI | getUI() 返回渲染此组件的L&F对象。 |
String | getUIClassID() 返回呈现此组件的L&F类的名称。 |
void | hidePopup() 导致组合框关闭其弹出窗口。 |
void | insertItemAt(E item, int index) 在给定索引的项目列表中插入项目。 |
protected void | installAncestorListener() |
void | intervalAdded(ListDataEvent e) 这种方法是公共的,作为实现的副作用。 |
void | intervalRemoved(ListDataEvent e) 这种方法是公共的,作为实现的副作用。 |
boolean | isEditable() 如果 |
boolean | isLightWeightPopupEnabled() 获取 |
boolean | isPopupVisible() 确定弹出窗口的可见性。 |
protected String | paramString() 返回此 |
void | processKeyEvent(KeyEvent e) 手柄 |
void | removeActionListener(ActionListener l) 删除 |
void | removeAllItems() 从项目列表中删除所有项目。 |
void | removeItem(Object anObject) 从项目列表中删除一个项目。 |
void | removeItemAt(int anIndex)
|
void | removeItemListener(ItemListener aListener) 删除 |
void | removePopupMenuListener(PopupMenuListener l) 删除 |
protected void | selectedItemChanged() 这种受保护的方法是具体的实现。 |
boolean | selectWithKeyChar(char keyChar) 选择与指定键盘字符相对应的列表项,如果存在与该字符相对应的项,则返回true。 |
void | setAction(Action a) 为 |
void | setActionCommand(String aCommand) 设置应该包含在发送到action监听器的事件中的action命令。 |
void | setEditable(boolean aFlag) 确定 |
void | setEditor(ComboBoxEditor anEditor) 设置用于在 |
void | setEnabled(boolean b) 启用组合框,以便可以选择项目。 |
void | setKeySelectionManager(JComboBox.KeySelectionManager aManager) 设置将键盘字符转换为列表选择的对象。 |
void | setLightWeightPopupEnabled(boolean aFlag) 设置 |
void | setMaximumRowCount(int count) 设置 |
void | setModel(ComboBoxModel<E> aModel) 设置 |
void | setPopupVisible(boolean v) 设置弹出窗口的可见性。 |
void | setPrototypeDisplayValue(E prototypeDisplayValue) 设置用于计算UI部分显示大小的原型显示值。 |
void | setRenderer(ListCellRenderer<? super E> aRenderer) 设置绘制列表项目的渲染器和从JComboBox字段中的列表中选择的项目。 |
void | setSelectedIndex(int anIndex) 选择索引为 |
void | setSelectedItem(Object anObject) 将组合框显示区域中的选定项目设置为参数中的对象。 |
void | setUI(ComboBoxUI ui) 设置渲染此组件的L&F对象。 |
void | showPopup() 导致组合框显示其弹出窗口。 |
void | updateUI() 将UI属性重置为当前外观的值。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* 下拉框 JComboBox类
* System.out.println(comboBox.getSelectedIndex());//返回当前项的位置
* System.out.println(comboBox.getSelectedItem());//返回当前项的内容
*/
public class ComboboxTest extends JFrame {
public ComboboxTest() {
Container container = this.getContentPane();
// 下拉框
JComboBox comboBox = new JComboBox();
comboBox.addItem("正在热映");
comboBox.addItem(null);
comboBox.addItem("即将上映");
comboBox.addItem("下架");
container.add(comboBox,BorderLayout.NORTH);
// 监听
comboBox.addActionListener(new MyActionListener());
this.setVisible(true);
this.setBounds(100,100,400,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ComboboxTest();
}
}
// 监听
class MyActionListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JComboBox comboBox = (JComboBox)e.getSource();
//返回当前项的位置
System.out.println(comboBox.getSelectedIndex());
//返回当前项的内容
System.out.println(comboBox.getSelectedItem());
}
}
2.列表框
Constructor and Description |
---|
JList() 构造一个空的只读模型的 |
JList(E[] listData) 构造一个 |
JList(ListModel<E> dataModel) 构造一个 |
JList(Vector<? extends E> listData) 构造一个 |
方法
Modifier and Type | Method and Description |
---|---|
void | addListSelectionListener(ListSelectionListener listener) 将一个监听器添加到列表中,每次发生更改时都会被通知; 倾听选择状态变化的首选方式。 |
void | addSelectionInterval(int anchor, int lead) 将选择设置为指定间隔与当前选择的并集。 |
void | clearSelection() 清除选择; 调用此方法后, |
protected ListSelectionModel | createSelectionModel() 返回一个 |
void | ensureIndexIsVisible(int index) 在封闭的视口中滚动列表,使指定的单元格完全可见。 |
protected void | fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting) 通知 |
AccessibleContext | getAccessibleContext() 获取 |
int | getAnchorSelectionIndex() 返回锚选择索引。 |
Rectangle | getCellBounds(int index0, int index1) 返回列表坐标系中由两个索引指定的单元格范围的边界矩形。 |
ListCellRenderer<? super E> | getCellRenderer() 返回负责绘画列表项的对象。 |
boolean | getDragEnabled() 返回是否启用自动拖动处理。 |
JList.DropLocation | getDropLocation() 返回该组件应在视觉上作为放置位置的DnD操作期间组件上方指示,或位置 |
DropMode | getDropMode() 返回此组件的放置模式。 |
int | getFirstVisibleIndex() 返回当前可见的最小列表索引。 |
int | getFixedCellHeight() 返回 |
int | getFixedCellWidth() 返回 |
int | getLastVisibleIndex() 返回当前可见的最大列表索引。 |
int | getLayoutOrientation() 返回列表的布局方向属性: |
int | getLeadSelectionIndex() 返回引导选择索引。 |
ListSelectionListener[] | getListSelectionListeners() 返回所有的数组 |
int | getMaxSelectionIndex() 返回最大的所选单元 |
int | getMinSelectionIndex() 返回最小选择的单元 |
ListModel<E> | getModel() 返回保存由 |
int | getNextMatch(String prefix, int startIndex, Position.Bias bias) 返回下一个列表元素,其中 |
Dimension | getPreferredScrollableViewportSize() 计算显示 |
E | getPrototypeCellValue() 返回“原型”单元格值 - 用于计算单元格的固定宽度和高度的值。 |
int | getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) 返回要滚动以显示下一个或上一个块的距离。 |
boolean | getScrollableTracksViewportHeight() 返回 |
boolean | getScrollableTracksViewportWidth() 返回 |
int | getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) 返回滚动的距离以显示下一行或上一行(垂直滚动)或列(用于水平滚动)。 |
int | getSelectedIndex() 返回最小的选定单元格索引; 在列表中仅选择单个项目时的选择。 |
int[] | getSelectedIndices() 以递增的顺序返回所有选定索引的数组。 |
E | getSelectedValue() 返回最小选定单元索引的值; 在列表中仅选择单个项目时的选定值 。 |
Object[] | getSelectedValues() 已弃用 截至JDK 1.7,由getSelectedValuesList()替代 |
List<E> | getSelectedValuesList() 根据列表中的索引,按照增加的顺序返回所有选定项目的列表。 |
Color | getSelectionBackground() 返回用于绘制所选项目背景的颜色。 |
Color | getSelectionForeground() 返回用于绘制所选项目前景的颜色。 |
int | getSelectionMode() 返回列表的当前选择模式。 |
ListSelectionModel | getSelectionModel() 返回当前的选择模型。 |
String | getToolTipText(MouseEvent event) 返回用于给定事件的工具提示文本。 |
ListUI | getUI() 返回 |
String | getUIClassID() 返回 |
boolean | getValueIsAdjusting() 返回选择模型的 |
int | getVisibleRowCount() 返回 |
Point | indexToLocation(int index) 返回列表坐标系中指定项目的原点。 |
boolean | isSelectedIndex(int index) 如果选择了指定的索引,则返回 |
boolean | isSelectionEmpty() 如果没有选择,返回 |
int | locationToIndex(Point location) 返回最接近列表坐标系中给定位置的单元格索引。 |
protected String | paramString() 返回 |
void | removeListSelectionListener(ListSelectionListener listener) 从列表中删除选择侦听器。 |
void | removeSelectionInterval(int index0, int index1) 将选择设置为指定间隔和当前选择的设置差。 |
void | setCellRenderer(ListCellRenderer<? super E> cellRenderer) 设置用于绘制列表中每个单元格的委托。 |
void | setDragEnabled(boolean b) 打开或关闭自动拖动处理。 |
void | setDropMode(DropMode dropMode) 设置此组件的下拉模式。 |
void | setFixedCellHeight(int height) 设置要用于列表中每个单元格的高度的固定值。 |
void | setFixedCellWidth(int width) 设置要用于列表中每个单元格宽度的固定值。 |
void | setLayoutOrientation(int layoutOrientation) 定义列表单元格的布局方式。 |
void | setListData(E[] listData) 构造一个只读 |
void | setListData(Vector<? extends E> listData) 构造一个只读 |
void | setModel(ListModel<E> model) 设置表示列表的内容或“值”的模型,通知属性更改侦听器,然后清除列表的选择。 |
void | setPrototypeCellValue(E prototypeCellValue) 设置 |
void | setSelectedIndex(int index) 选择单个单元格。 |
void | setSelectedIndices(int[] indices) 将选择更改为给定数组指定的索引集。 |
void | setSelectedValue(Object anObject, boolean shouldScroll) 从列表中选择指定的对象。 |
void | setSelectionBackground(Color selectionBackground) 设置用于绘制所选项目背景的颜色,哪些单元格渲染器可以使用填充所选单元格。 |
void | setSelectionForeground(Color selectionForeground) 设置用于绘制所选项目的前景的颜色,哪些单元格渲染器可用于渲染文本和图形。 |
void | setSelectionInterval(int anchor, int lead) 选择指定的间隔。 |
void | setSelectionMode(int selectionMode) 设置列表的选择模式。 |
void | setSelectionModel(ListSelectionModel selectionModel) 将该列表的 |
void | setUI(ListUI ui) 设置 |
void | setValueIsAdjusting(boolean b) 设置选择模型的 |
void | setVisibleRowCount(int visibleRowCount) 设置 |
void | updateUI() 将 |
Constructor and Description |
---|
Vector() 构造一个空向量,使其内部数据数组的大小为 |
Vector(Collection<? extends E> c) 构造一个包含指定集合元素的向量,按照集合的迭代器返回的顺序。 |
Vector(int initialCapacity) 构造具有指定初始容量并且其容量增量等于零的空向量。 |
Vector(int initialCapacity, int capacityIncrement) 构造具有指定的初始容量和容量增量的空向量。 |
方法
Modifier and Type | Method and Description |
---|---|
boolean | add(E e) 将指定的元素追加到此Vector的末尾。 |
void | add(int index, E element) 在此Vector中的指定位置插入指定的元素。 |
boolean | addAll(Collection<? extends E> c) 将指定集合中的所有元素追加到该向量的末尾,按照它们由指定集合的迭代器返回的顺序。 |
boolean | addAll(int index, Collection<? extends E> c) 将指定集合中的所有元素插入到此向量中的指定位置。 |
void | addElement(E obj) 将指定的组件添加到此向量的末尾,将其大小增加1。 |
int | capacity() 返回此向量的当前容量。 |
void | clear() 从此Vector中删除所有元素。 |
Object | clone() 返回此向量的克隆。 |
boolean | contains(Object o) 如果此向量包含指定的元素,则返回 |
boolean | containsAll(Collection<?> c) 如果此向量包含指定集合中的所有元素,则返回true。 |
void | copyInto(Object[] anArray) 将此向量的组件复制到指定的数组中。 |
E | elementAt(int index) 返回指定索引处的组件。 |
Enumeration<E> | elements() 返回此向量的组件的枚举。 |
void | ensureCapacity(int minCapacity) 如果需要,增加此向量的容量,以确保它可以至少保存最小容量参数指定的组件数。 |
boolean | equals(Object o) 将指定的对象与此向量进行比较以获得相等性。 |
E | firstElement() 返回此向量的第一个组件(索引号为 |
void | forEach(Consumer<? super E> action) 对 |
E | get(int index) 返回此向量中指定位置的元素。 |
int | hashCode() 返回此Vector的哈希码值。 |
int | indexOf(Object o) 返回此向量中指定元素的第一次出现的索引,如果此向量不包含元素,则返回-1。 |
int | indexOf(Object o, int index) 返回此向量中指定元素的第一次出现的索引,从 |
void | insertElementAt(E obj, int index) 在指定的index插入指定对象作为该向量中的一个 |
boolean | isEmpty() 测试此矢量是否没有组件。 |
Iterator<E> | iterator() 以正确的顺序返回该列表中的元素的迭代器。 |
E | lastElement() 返回向量的最后一个组件。 |
int | lastIndexOf(Object o) 返回此向量中指定元素的最后一次出现的索引,如果此向量不包含元素,则返回-1。 |
int | lastIndexOf(Object o, int index) 返回此向量中指定元素的最后一次出现的索引,从 |
ListIterator<E> | listIterator() 返回列表中的列表迭代器(按适当的顺序)。 |
ListIterator<E> | listIterator(int index) 从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。 |
E | remove(int index) 删除此向量中指定位置的元素。 |
boolean | remove(Object o) 删除此向量中指定元素的第一个出现如果Vector不包含元素,则它不会更改。 |
boolean | removeAll(Collection<?> c) 从此Vector中删除指定集合中包含的所有元素。 |
void | removeAllElements() 从该向量中删除所有组件,并将其大小设置为零。 |
boolean | removeElement(Object obj) 从此向量中删除参数的第一个(最低索引)出现次数。 |
void | removeElementAt(int index) 删除指定索引处的组件。 |
boolean | removeIf(Predicate<? super E> filter) 删除满足给定谓词的此集合的所有元素。 |
protected void | removeRange(int fromIndex, int toIndex) 从此列表中删除所有索引为 |
void | replaceAll(UnaryOperator<E> operator) 将该列表的每个元素替换为将该运算符应用于该元素的结果。 |
boolean | retainAll(Collection<?> c) 仅保留此向量中包含在指定集合中的元素。 |
E | set(int index, E element) 用指定的元素替换此Vector中指定位置的元素。 |
void | setElementAt(E obj, int index) 设置在指定的组件 |
void | setSize(int newSize) 设置此向量的大小。 |
int | size() 返回此向量中的组件数。 |
void | sort(Comparator<? super E> c) 使用提供的 |
Spliterator<E> | spliterator() 在此列表中的元素上创建late-binding和故障切换 Spliterator 。 |
List<E> | subList(int fromIndex, int toIndex) 返回此列表之间的fromIndex(包括)和toIndex之间的独占视图。 |
Object[] | toArray() 以正确的顺序返回一个包含此Vector中所有元素的数组。 |
<T> T[] | toArray(T[] a) 以正确的顺序返回一个包含此Vector中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。 |
String | toString() 返回此Vector的字符串表示形式,其中包含每个元素的String表示形式。 |
void | trimToSize() 修改该向量的容量成为向量的当前大 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
import java.util.Vector;
/**
* 列表框 JList
* 每一项都是可点击的
*/
public class ComboboxDemoTest extends JFrame {
public ComboboxDemoTest() {
// 列表的内容
// 动态变量 动态集合
Vector vector = new Vector();
vector.add("正在热映");
//与下拉框不同,动态集合自动排除掉为空的内容,所以这里显示的就两个项
vector.add(null);
vector.add("已下架");
// 列表中需要放入内容
JList list = new JList(vector);
Container container = this.getContentPane();
container.add(list);
this.setVisible(true);
this.setBounds(100,100,400,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ComboboxDemoTest();
}
}
-
应用场景
- 选择地区,或者一些单个选项 (选项只有两个的话建议使用单选框,三个以上建议使用下拉框)
- 列表框,展示项信息,一般都是动态扩容
七.文本框
1.文本框
Constructor and Description |
---|
JTextField() 构造新的 |
JTextField(Document doc, String text, int columns) 构造一个新的 |
JTextField(int columns) 构造一个新的空的 |
JTextField(String text) 构造一个新的 |
JTextField(String text, int columns) 构造一个新的 |
方法
Modifier and Type | Method and Description |
---|---|
protected void | actionPropertyChanged(Action action, String propertyName) 响应相关操作中的属性更改更新文本框的状态。 |
void | addActionListener(ActionListener l) 添加指定的动作侦听器以从此文本字段接收动作事件。 |
protected void | configurePropertiesFromAction(Action a) 设置此文本字段上的属性以匹配指定的Action中的 |
protected PropertyChangeListener | createActionPropertyChangeListener(Action a) 创建并返回一个 |
protected Document | createDefaultModel() 如果没有明确给出,则创建要在构建中使用的模型的默认实现。 |
protected void | fireActionPerformed() 通知所有在此事件类型上通知有兴趣的听众。 |
AccessibleContext | getAccessibleContext() 获取 |
Action | getAction() 返回当前设置的 |
ActionListener[] | getActionListeners() 返回使用addActionListener()添加到此JTextField的所有 |
Action[] | getActions() 获取编辑器命令列表。 |
int | getColumns() 返回此 |
protected int | getColumnWidth() 返回列宽。 |
int | getHorizontalAlignment() 返回文本的水平对齐。 |
BoundedRangeModel | getHorizontalVisibility() 获取文本字段的可见性。 |
Dimension | getPreferredSize() 返回首选大小 |
int | getScrollOffset() 获取滚动偏移量,以像素为单位。 |
String | getUIClassID() 获取UI的类ID。 |
boolean | isValidateRoot() 呼叫 |
protected String | paramString() 返回此 |
void | postActionEvent() 通过将这些事件发送到任何已注册的 |
void | removeActionListener(ActionListener l) 删除指定的动作监听器,使其不再从此文本字段接收动作事件。 |
void | scrollRectToVisible(Rectangle r) 向左或向右滚动字段。 |
void | setAction(Action a) 设置 |
void | setActionCommand(String command) 设置用于操作事件的命令字符串。 |
void | setColumns(int columns) 设置此 |
void | setDocument(Document doc) 将编辑器与文本文档相关联。 |
void | setFont(Font f) 设置当前字体。 |
void | setHorizontalAlignment(int alignment) 设置文本的水平对齐方式。 |
void | setScrollOffset(int scrollOffset) 设置滚动偏移量,以像素为单位。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
/**
* 文本框 JTextField
* 不能换行
*/
public class JTextFieldTest extends JFrame {
public JTextFieldTest() throws HeadlessException {
// 设置文本框 不能换行
// 设置初始内容
JTextField textField1 = new JTextField("hello");
// 设置初始内容与起始字符数,行列可变化
JTextField textField2 = new JTextField("world",20);
Container container = this.getContentPane();
container.add(textField1,BorderLayout.NORTH);
container.add(textField2,BorderLayout.SOUTH);
setVisible(true);
setBounds(100,100,200,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JTextFieldTest();
}
}
2.密码框
Constructor and Description |
---|
JPasswordField() 构造一个新的 |
JPasswordField(Document doc, String txt, int columns) 构造一个新的 |
JPasswordField(int columns) 构造一个新的空的 |
JPasswordField(String text) 构造一个新 |
JPasswordField(String text, int columns) 构造一个新的 |
方法
Modifier and Type | Method and Description |
---|---|
void | copy() 调用 |
void | cut() 调用 |
boolean | echoCharIsSet() 如果这个 |
AccessibleContext | getAccessibleContext() 返回 |
char | getEchoChar() 返回要用于回显的字符。 |
char[] | getPassword() 返回包含在此文字 |
String | getText() 已弃用 从Java 2平台v1.2开始,由 |
String | getText(int offs, int len) 已弃用 从Java 2平台v1.2开始,由 |
String | getUIClassID() 返回呈现此组件的L&F类的名称。 |
protected String | paramString() 返回此 |
void | setEchoChar(char c) 设置此 |
void | updateUI() 重新加载可插拔的UI。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
/**
* 密码框 JPasswordField 在文本框中用一个字符隐藏内容
* 是JTextField的子类 默认是一个小黑点隐藏
*/
public class JPasswordFieldTest extends JFrame {
public JPasswordFieldTest() throws HeadlessException {
// 设置文本框 不能换行
// 设置初始内容
JPasswordField passwordField = new JPasswordField("hello");
// 设置用一个字符代替输入字符,实现隐藏作用
passwordField.setEchoChar('*');
// 得到文本框的内容
System.out.println(passwordField.getPassword());
Container container = this.getContentPane();
container.add(passwordField,BorderLayout.NORTH);
setVisible(true);
setBounds(100,100,200,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JPasswordFieldTest();
}
}
3.文本域
Constructor and Description |
---|
JTextArea() 构造一个新的TextArea。 |
JTextArea(Document doc) 使用给定的文档模型构造一个新的JTextArea,默认为所有其他参数(null,0,0)。 |
JTextArea(Document doc, String text, int rows, int columns) 构造具有指定行数和列数的新JTextArea以及给定模型。 |
JTextArea(int rows, int columns) 构造具有指定行数和列数的新的空TextArea。 |
JTextArea(String text) 构造一个新的TextArea,并显示指定的文本。 |
JTextArea(String text, int rows, int columns) 构造具有指定文本和行数和列数的新TextArea。 |
方法
Modifier and Type | Method and Description |
---|---|
void | append(String str) 将给定的文本附加到文档的末尾。 |
protected Document | createDefaultModel() 如果没有明确给出,则创建要在构建中使用的模型的默认实现。 |
AccessibleContext | getAccessibleContext() 获取与此JTextArea关联的AccessibleContext。 |
int | getColumns() 返回TextArea中的列数。 |
protected int | getColumnWidth() 获取列宽。 |
int | getLineCount() 确定该区域中包含的行数。 |
int | getLineEndOffset(int line) 确定给定行末端的偏移量。 |
int | getLineOfOffset(int offset) 将偏移量转换为组件文本为行号。 |
int | getLineStartOffset(int line) 确定给定行开始的偏移量。 |
boolean | getLineWrap() 获取文本区域的换行政策。 |
Dimension | getPreferredScrollableViewportSize() 如果此组件嵌入在JScrollPane中,则返回视口的首选大小。 |
Dimension | getPreferredSize() 返回TextArea的首选大小。 |
protected int | getRowHeight() 定义一行高度的含义。 |
int | getRows() 返回TextArea中的行数。 |
boolean | getScrollableTracksViewportWidth() 如果视口应始终强制此Scrollable的宽度与视口的宽度相匹配,则返回true。 |
int | getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) 显示逻辑行或列的组件应计算将根据取向值完全暴露一个新行或列的滚动增量。 |
int | getTabSize() 获取用于扩展选项卡的字符数。 |
String | getUIClassID() 返回UI的类ID。 |
boolean | getWrapStyleWord() 如果文本区域是包装线,则获取使用的包装样式。 |
void | insert(String str, int pos) 在指定的位置插入指定的文本。 |
protected String | paramString() 返回此JTextArea的字符串表示形式。 |
void | replaceRange(String str, int start, int end) 用指定的新文本替换指定的开始到结束位置的文本。 |
void | setColumns(int columns) 设置此TextArea的列数。 |
void | setFont(Font f) 设置当前字体。 |
void | setLineWrap(boolean wrap) 设置文本区域的换行策略。 |
void | setRows(int rows) 设置此TextArea的行数。 |
void | setTabSize(int size) 设置扩展标签的字符数。 |
void | setWrapStyleWord(boolean word) 如果文本区域是包装线,则设置使用的包装样式。 |
package com.demo.panel;
import javax.swing.*;
import java.awt.*;
public class JTextAreaTest extends JFrame {
public JTextAreaTest() throws HeadlessException {
// 设置一个文本域 文本域可以换行,而文本框不行
// 设置起始行列数,行列可变化
JTextArea textArea = new JTextArea(20,30);
textArea.setText("滑动面板的文本域,有换行功能");
// JScrollPane面板
JScrollPane scrollPane = new JScrollPane(textArea);
Container container = this.getContentPane();
container.add(scrollPane);
setVisible(true);
setBounds(100,100,200,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JTextAreaTest();
}
}