Component 类是所有组件的超类。组件类可以与页面、Web 应用程序的组件链接。组件清楚地表明这是对象的图形表示。
Component类的重要方法:
- 公共无效添加(组件c):该方法通过将组件作为参数将组件插入到容器中。
- 公共无效setSize(int宽度,int高度):该方法以高度和宽度为参数来设置组件的大小。
- 公共无效setLayout(LayoutManager lm):该方法以LayoutManager为参数,设置布局以特定方式设置组件。
- 公共无效setVisible(布尔状态):该方法将组件的可见性设置为可见或不可见。如果它设置为 true,则该组件将在输出中可见,否则如果它设置为 false 或未定义的组件将在输出中不可见。
Note: LayoutManager helps us to give the positioning and size of components that should be visible.
组件类中组件的类型
组件类中的组件如下:
- Container
- Button
- Label
- Checkbox
- Choice
- List
所有这些组件都存在于java.awt包。我们可以单独导入每个组件,即导入 java.awt.Button,导入 java.awt.ContainerETC。
Note: If we want to import all components at a time we can do that by importing like import java.awt.*
above-listed组件的层次结构如下:
组件的层次结构
让我们详细看看每个组件。
1. 容器
Container 是一个组件,将用于扩展其他组件,如窗口、面板、框架、对话框和 Applet,如上图所示。
- 窗户:窗口是一个不包含边框和菜单栏的容器。我们必须使用另一个窗口、框架和对话框来创建一个窗口。创建实例就是创建Window Container 的方式。
- 控制板:面板也是一个不包含标题栏、菜单或边框的容器。它是一个容器,保存按钮、文本字段等组件。创建实例就是创建面板容器的方法,可以添加组件。
- 框架:Frame 是创建 AWT 应用程序时使用的容器。它可以有标题栏、菜单栏、边框以及按钮、滚动条等组件。
- 对话:对话框是一个容器,它将显示我们想要在屏幕上显示的消息。
2. 按钮
按钮是一个带标签的组件,单击时会执行事件。它是由 Button 类创建的。单击时,它会通过 AWT 发送 ActionEvent 的实例来执行某些操作。 ActionEvent 在按钮上调用 processEvent,它接收所有事件并通过调用自己的 processActionEvent 方法来执行操作。为了完成这些事情,它需要实现 ActionListener。按钮类的声明将是
public class Button extends Component implements Accessible
它包含 2 个构造函数:
- Button() : This constructor will create a button with no label
- Button(String label) : This constructor creates a button with label value as a value when we creates an object
例子:
Java
import java.awt.*;
// Driver Class
class SubmitButton extends Frame {
// main function
public static void main(String[] args)
{
// create instance of frame with label
Frame frame = new Frame("Submit form");
// create instance of button with label
Button button = new Button("Submit");
// set the position for the button in frame
button.setBounds(40, 130, 70, 20);
// adding button to the frame
frame.add(button);
// setting size for the frame
frame.setSize(500, 500);
// setting layout for the frame
frame.setLayout(null);
// visibility of frame to display the output\
// without this output will be blank
frame.setVisible(true);
}
}
我们可以通过以下命令来运行它:
输出:
3. 标签
它用于显示容器中的文本。它将以以下形式显示文本只读,用户不能直接更改。我们需要创建一个Label Class的实例来创建Label。标签类别声明将是
public class Label extends Component implements Accessible
它有 3 个构造函数:
- Label() : Creates an Empty Label.
- Label(String labelname) : Creates a Label with labelname as parameter value.
- Label(String labelname, int align) : Creates a Label with labelname as parameter value and proper alignments.
Note: Align parameter aligns the text in proper alignment and it has 3 types of alignment.
- LEFT:指定文本应左对齐。
- RIGHT:指定文本应右对齐。
- CENTER 指定文本应居中对齐。
例子:
Java
import java.awt.*;
public class ShowLabelText extends Frame {
public static void main(String args[])
{
// creating objects for Frame and Label class
Frame frame = new Frame("Label Text");
// Creating label One
Label label1 = new Label("Label One", Label.LEFT);
// Creating label Two
Label label2 = new Label("Label Two", Label.RIGHT);
// set the location of label in px
label1.setBounds(50, 100, 100, 50);
label2.setBounds(50, 150, 100, 50);
// adding labels to the frame
frame.add(label1);
frame.add(label2);
// setting size, layout
// and visibility of frame
frame.setSize(500, 500);
frame.setLayout(null);
frame.setVisible(true);
}
}
我们可以通过以下命令来运行它:
输出:
4. 复选框
它用于在容器中创建复选框。它可以通过选中和取消选中复选框来获取 true 或 false 值。
- 检查 - 返回 true
- 未选中 - 返回 false
它可以通过创建 Checkbox 的实例来创建。标签类别声明将是
public class Checkbox extends Component implements ItemSelectable, Accessible
它有 5 个构造函数:
- Checkbox() : Creates a checkbox with empty label
- Checkbox(String checkboxlabel) : Creates a Checkbox with checkboxlabel as parameter value.
- Checkbox(String checkboxlabel, boolean status) : Creates a Checkbox with checkboxlabel as parameter value and sets the status either true or false.
- Checkbox(String checkboxlabel, boolean status, CheckboxGroup cbgroup) : Creates a Checkbox with checkboxlabel as parameter value and sets the status to the specified checkbox group.
- Checkbox(String checkboxlabel, CheckboxGroup cbgroup, boolean status) : Creates a Checkbox with checkboxlabel as parameter value for the specified cbgroup and sets the status.
示例 1:
Java
// importing AWT class
import java.awt.*;
public class CourseCheck {
// main method
public static void main(String args[])
{
// creating the frame with the label
Frame frame = new Frame("Courses");
// creating checkbox java
Checkbox java = new Checkbox("Java");
// setting location of checkbox in frame
java.setBounds(100, 100, 50, 50);
// creating checkbox python with status as true
Checkbox python = new Checkbox("Python", true);
// setting location of checkbox in frame
python.setBounds(100, 150, 50, 50);
// adding checkboxes to frame
frame.add(java);
frame.add(python);
// setting size, layout and
// visibility of frame
frame.setSize(400, 400);
frame.setLayout(null);
frame.setVisible(true);
}
}
我们可以通过以下命令来运行它:
输出:
在上面的输出中,我们可以选择这两个选项。
示例2:
Java
// importing AWT class
import java.awt.*;
public class GenderCheck {
// main method
public static void main(String args[])
{
// creating the frame with the label
Frame frame = new Frame("Gender");
// creating a CheckboxGroup
CheckboxGroup cbgroup = new CheckboxGroup();
// creating checkbox male with
// status as true for cbgroup
Checkbox male = new Checkbox("Male", cbgroup, true);
male.setBounds(100, 100, 50, 50);
// creating checkbox female with
// status as false for cbgroup
Checkbox female = new Checkbox("Female", cbgroup, false);
// setting location of checkbox in frame
female.setBounds(100, 150, 50, 50);
// adding checkboxes to frame
frame.add(male);
frame.add(female);
// setting size, layout
// and visibility of frame
frame.setSize(400, 400);
frame.setLayout(null);
frame.setVisible(true);
}
}
我们可以使用命令来运行它:
输出:
在上面的输出中,我们可以选择任何一个选项,因为它充当单选按钮。
5. 选择
它用于显示弹出菜单以从菜单项中选择任何项目。所选选项将显示在菜单栏的顶部。我们需要创建 Choice 类的实例来创建 Choice。选择类别的声明将是
public class Choice extends Component implements ItemSelectable, Accessible
它有 1 个构造函数:
Choice() : Creates a new Choice menu of items
例子:
Java
import java.awt.*;
public class SelectItems {
// main method
public static void main(String args[])
{
// creating a Frame
Frame frame = new Frame();
// creating a choice component
Choice choice = new Choice();
// setting the bounds of choice menu
choice.setBounds(70, 70, 75, 75);
// adding items to the choice menu
choice.add("--select--");
choice.add("Shampoo");
choice.add("Eggs");
choice.add("Bottles");
// adding choice menu to frame
frame.add(choice);
// setting size, layout
// and visibility of frame
frame.setSize(300, 300);
frame.setLayout(null);
frame.setVisible(true);
}
}
我们可以通过以下命令来运行它:
输出:
6. 清单
列表对象创建一个项目列表,我们可以在其中一次选择一个或多个项目。我们需要创建一个List类的实例来创建一个List。标签类别声明将是
public class List extends Component implements ItemSelectable, Accessible
它有 3 个构造函数:
- List() : Creates a new Scrolling List
- List(int noofrows) : Creates a new Scrolling List which displays the list of items with given no. of rows visible with parameter noofrows.
- List(int noofrows, boolean multi) : Creates a new Scrolling list which displays the list of items with given no. of rows visible and allows to select multiple items at a time.
例子:
Java
import java.awt.*;
public class SelectList {
// main method
public static void main(String args[])
{
// creating frame1
Frame frame1 = new Frame();
// creating list1 with 5 rows
List list1 = new List(5);
// setting the position of list component
list1.setBounds(100, 100, 75, 75);
// adding list items to the list1
list1.add("Shampoo");
list1.add("Conditioner");
list1.add("Eggs");
list1.add("Bottles");
list1.add("Butter");
// adding the list1 to frame1
frame1.add(list1);
// setting size, layout
// and visibility of frame1
frame1.setSize(400, 400);
frame1.setLayout(null);
frame1.setVisible(true);
// creating frame2
Frame frame2 = new Frame();
// creating list2 with 5 rows
// and multi select items as true
List list2 = new List(5, true);
// setting the position of list component
list2.setBounds(100, 100, 75, 75);
// adding list items to the list2
list2.add("Shampoo");
list2.add("Conditioner");
list2.add("Eggs");
list2.add("Bottles");
list2.add("Butter");
// adding the list2 to frame2
frame2.add(list2);
// setting size, layout
// and visibility of frame2
frame2.setSize(400, 400);
frame2.setLayout(null);
frame2.setVisible(true);
}
}
我们可以通过以下命令来运行它:
输出1:
在此输出列表中,我们可以一次选择任何一项。
输出2:
在此输出列表中,我们可以一次选择多个项目。这些是 Component 类和有关组件类中存在的所有组件。
经常问的问题
1.Java中什么是组件?
组件是可以在屏幕上显示的具有图形表示的交互对象。
2.哪些组件不能添加到框架中?
Java Swing 中的某些组件无法直接添加到框架中。下面提到了一些组件:
- MenuBar
- Scrollbar
- Dialog
- Applet
相关用法
- Java CompoundName getAll()用法及代码示例
- Java CompositeName size()用法及代码示例
- Java CompoundName remove()用法及代码示例
- Java CompoundName startsWith()用法及代码示例
- Java CompoundName compareTo()用法及代码示例
- Java CompositeName isEmpty()用法及代码示例
- Java CompositeName clone()用法及代码示例
- Java CompoundName hashCode()用法及代码示例
- Java CompositeName hashCode()用法及代码示例
- Java CompositeName equals()用法及代码示例
- Java CompoundName toString()用法及代码示例
- Java CompositeName getAll()用法及代码示例
- Java CompoundName size()用法及代码示例
- Java CompoundName add()用法及代码示例
- Java CompoundName getPrefix()用法及代码示例
- Java CompositeName compareTo()用法及代码示例
- Java CompoundName endsWith()用法及代码示例
- Java CompoundName getSuffix()用法及代码示例
- Java CompositeName add()用法及代码示例
- Java CompositeName get()用法及代码示例
- Java CompoundName isEmpty()用法及代码示例
- Java CompositeName startsWith()用法及代码示例
- Java CompoundName addAll()用法及代码示例
- Java CompositeName endsWith()用法及代码示例
- Java CompoundName clone()用法及代码示例
注:本文由纯净天空筛选整理自devasishakula503大神的英文原创作品 Component Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。