Java 基础---Swing

本文介绍Java Swing中的常用控件及其使用方法,包括按钮、标签、文本框等,并提供了示例代码,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于Java语法的学习,同事推荐《Java核心技术卷I》,可让我看来,觉得有些高深,不太符合我的学习习惯。于是自己百度了一本《21天学通java2》,简单易学,最主要的是有很多例子在里边,我可以边看边动手练习。

这里就摘录几个常用控件的使用方法:

 

带有字符的按钮

JButton button = new JButton(“quit”);

JPanel pane = new JPanel();

pane.add(button);

setContentPane(pane);

 

带有图标的按钮

ImageIcon zap = new ImageIcon(“zap.gif”);

JButton button = new JButton(zap);

JPanel pane = new JPanel();

pane.add(button);

setContentPane(pane);

 

标签

JLabel tinker = new JLabel(“Tinker”, SwingConstants.LEFT);

JLabel evers = new JLabel(“Evers”);

JLabel chance = new JLabel(“Chance”, SwingConstants.RIGHT);

 

文本字段

JTextField name = new JTextField(30);

JTextField name = new JTextField(“Puddin N. Tane”, 30);

 

密码字段

创建一个密码字段,并把它的响应字符设置成#:

JPasswordField codePhrase = new JPasswordField(20);

codePhrase.setEchoChar(‘#’);

 

文本域

处理多行输入的可编辑文本字段

JTextArea(int, int)           带有指定行和列的文本域

JTextArea(String, int, int)     带有指定文本、行和列的文本域

 

滚动窗格

文本域并不包含水平或垂直滚动条

JScrollPane(Component)   包含了指定组件的滚动窗格

JScrollPane(Component, int, int)  带有指定的组件、垂直滚动条配置和水平滚动条配置的滚动窗格

JPanel pane = new JPanel();

JTextArea letter = new JTextArea(5, 15);

JScrollPane scroll = new JScrollPane(letter,

ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER)

pane.add(scroll);

setContentPane(pane);

 

滚动条scrollbar

JScrollBar(int)                 带有指定方向的滚动条

JScrollBar(int, int, int, int, int, int) 带有指定方向、起始值、滚动块大小、最小值和最大值的滚动条

方向:JScrollBar.HORIZONTAL JScrollBar.VERTICAL

起始值应该等于或者介于该滚动条的最大值和最小值之间

可以为0

滚动条的最小值

滚动条的最大值

JScrollBar bar = new JScrollBar(JScrollBar.HORIZONTAL, 33, 0, 10, 50);

 

复选框JCheckBox和单选按钮JRadioButton

方法:

getSelected(boolean) true表示选中该组件

isSelected(), 返回boolean值,指出该组件当前是否选中

 

JCheckBox(String)          带有指定文本标签的复选框

JCheckBox(Sring, boolean)   带有指定文本标签的复选框,当第二个参数为true,被选中

JCheckBox(Icon)           带有指定图标标签的复选框

JCheckBox(Icon, boolean)    带有指定图标标签的复选框,当第二个参数为true,被选中

JCheckBox(String, Icon)     带有指定文本标签和图标标签的复选框

JCheckBox(String, Icon, boolean)  带有指定文本标签和图标标签的复选框,当第二个参数为true,被选中

 

JRadioButton有相同参数和功能的构造函数

为了使复选框不相容,可以将多个复选框放到某个组中,这样就可以只允许选择一个。

创建一个类ButtonGroup对象,

ButtonGroup betterDarrin = new ButtonGroup();

JRadioButton r1 = new JRadioButton(”Dick York”, true);

betterDarrin.add(r1);

JRadioButton r2 = new JRadioButton(“Dick Sargent”, false);

betterDarrin.add(r2);

 

下拉列表和组合框JComboBox

创建下拉列表的方法:

1 使用不带参数的构造函数JComboBox()

2 组合框的方法addItem(Object)将表项加入到列表中

3 调用函数setEditable(true),即可变成组合框

组合框,用户可以在文本字段输入文本

几个方法:

getItemAt(int):返回位于整数参数所指定的索引位置的表项的文本。从0开始

getItemCount():返回列表中的表项数目

getSelectedIndex():返回列表中当前选项的索引位置

getSelectedItem():返回当前选项的文本内容

setSelectedIndex(int):选中在指定索引位置的项

setSelectedIndex(Object):选中列表中的指定对象

setMaximumRowCount(int):设置了一次能够显示出来的组合框行数

 

标准对话框JOptionPane

Confirm对话框:询问问题,带有用于Yes, No Cancel响应的按钮

Input对话框:用来接收文本输入

Message对话框:显示信息

Option对话框:包含上面所有的三种对话框类型

 

Comfirm对话框:

showConfirmDialog(Component, Object): Component指出了应该被认做包含该对话框的容器,这个信息可以用来决定对话框窗口显示的位置。如果为null或该容器不是Frame对象,那么对话框会被显示在屏幕中央;Object,字符串/组件/Icon对象,显示在对话框内的信息

返回值:

YES_OPTION, NO_OPTION, CANCEL_OPTION

如:

int response;

response = JOptionPane.showConfirmDialog(null, “Should I delete all of your irreplaceable personal files”);

 

showConfirmDialog(Component, Object, String, int, int)

前两个参数同上,

String 标题栏

int    指明哪个选项按钮将被显示出来, YES_NO_CANCEL_OPTION, YES_NO_OPTION

int    描述对话框的类型,ERROR_MESSAGE, INFORMATION_MESSAGE, PLAIN_MESSAGE, QUESTION_MESSAGE, WARING_MESSAGE

如:

int response = JOptionPane.showConfirmDialog(null, “Error reading file. Want to try again?”,

            “File Input Error”, JOptionPane.YES_NO_OPTION,

JOptionPane.ERROR_MESSAGE);

 

Input对话框

会询问一个问题,并用一个文本字段来存储对它的响应。

showInputDialog(Component, Object)

如:

String response = JOptionPane.showInputDialog(null, “Enter your name: “);

 

showInputDialog(Component, Object, String, int)

String:标题栏

intERROR_MESSAGE, INFORMATION_MESSAGE, PLAIN_MESSAGE,

    QUESTION_MESSAGE, WARNING_MESSAGE

 

如:

String response = JOptionPane.showInputDialog(null, “What is your ZIP code?”,

               “Enter ZIP Code”, JOptionPane.QUESTION_MESSAGE);

 

Message对话框

用来显示信息的简单窗口, 无返回值

showMessageDialog(Component, Object)

如:

JOptionPane.showMessageDialog(null, “The program has been uninstalled.”);

 

showMessageDialog(Component, Object, String, int),参数同showInputDialog(Component, Object, String, int)

如:

JOptionPane.showMessageDialog(null, “An asteroid has destroyed the Earth.”,

           “Asteroid Destruction Alert”, JOptionPane.WARNING_MESSAGE);

 

Option对话框

showOptionDialog(Component, Object, String, int, int, Icon, Object[], Object)

参数:

该对话框的父组件

要显示的文本、图标或组件

标题栏

对话框类型:YES_NO_OPTION, YES_NO_CANCEL_OPTION 0

要显示的图标,ERROR_MESSAGE, INFORMATION_MESSAGE, PLAIN_MESSAGE,

    QUESTION_MESSAGE, WARNING_MESSAGE

要显示的一个Icon对象

一个对象组,出现在YES_NO_OPTION, YES_NO_CANCEL_OPTION没有使用的情况下

如果没有使用YES_NO_OPTION, YES_NO_CANCEL_OPTION时代表默认选项的对象

例如:

JButton[] gender = new JButton[3];

gender[0] = new JButton(“Male”);

gender[1] = new JButton(“Female”);

gender[2] = new JButton(“None of Your Business”);

int response = JOptionPane.showOptionDialog(null, “What is your gender?”,

            “Gender”,

            0,

            JOptionPane.INFORMATION_MESSAGE,

            Null,

            gender,

            gender[2]);

 

滑块JSlider

在最大值和最小值范围内通过滑动控制来设置一个整数。

方向显式地设置成类SwingConstants的两个类变量:HORIZONTALVERTICAL

JSlider(int, int) 最小值,最大值

JSlider(int, int ,int) 最小值,最大值,初始值

JSlider(int, int, int, int)指定方向,最小值,最大值和初始值

可选择标签的创建:

setMajorTickSpacing(int) 按照指定的间隔放置主核对记号

setMinorTickSpacing(int) 按照指定的间隔放置从核对记号

setPaintTicks(boolean) 判断核对记号是否要显示

setPaintLabels(boolean) 判断滑块的数字标签是否显示

 

 

工具栏JToolBar

工具栏的方向:SwingConstants.HORIZONTAL SwingConstants.VERTICAL

必须使用BorderLayout管理器进行布局,将容器分为五个区域:北、南、东、西和中央。

JToolBar() 创建一个新的工具栏

JToolBar(int)创建一个带有指定方向的工具栏

 

进度条JProgressBar

JProgressBar() 创建一个新的进度条

JProgressBar(int, int) 创建一个带有指定最小值和最大值的进度条

JProgressBar(int, int, int)创建一个带有指定方向,最小值和最大值的进度条

进度条的方向:SwingConstants.VERTICALSwingConstants.HORIZONTAL。默认为水平方向。

setMinimum(int)

setMaximum(int)

setValue(int)

setStringPainted(boolean) 进度条的文本标签设置与否

 

 

布局管理器Layout Manager

Java包含了FlowLayout(默认), GridLayoutBorderLayout, CardLayout(卡片布局), GridBagLayout(网格包布局)

使用容器的setLayout方法让它成为该容器的布局管理器

布局管理器必须在任何组件被添加到容器中之前被设置好。

 

GridBagLayout(网格包布局),是网格布局管理器的一个扩展。

 

 

设置窗口大小

       setBounds(150,200,400, 800);

       或

       setSize(400, 800);

 

另外附上一个有用的链接,里边有一些控件的方法的使用示例(非常的全面):

 http://grid.tsinghua.edu.cn/docs/java/The%20Java%20Developers%20Almanac%201.4/egs/javax.swing/pkg.html#Menus

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值