当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Component用法及代码示例


Component 类是所有组件的超类。组件类可以与页面、Web 应用程序的组件链接。组件清楚地表明这是对象的图形表示。

Component类的重要方法:

  1. 公共无效添加(组件c):该方法通过将组件作为参数将组件插入到容器中。
  2. 公共无效setSize(int宽度,int高度):该方法以高度和宽度为参数来设置组件的大小。
  3. 公共无效setLayout(LayoutManager lm):该方法以LayoutManager为参数,设置布局以特定方式设置组件。
  4. 公共无效setVisible(布尔状态):该方法将组件的可见性设置为可见或不可见。如果它设置为 true,则该组件将在输出中可见,否则如果它设置为 false 或未定义的组件将在输出中不可见。

Note: LayoutManager helps us to give the positioning and size of components that should be visible.

组件类中组件的类型

组件类中的组件如下:

  1. Container
  2. Button
  3. Label
  4. Checkbox
  5. Choice
  6. 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组件的层次结构如下:

组件的层次结构

Hierarchical Structure of Components

让我们详细看看每个组件。

1. 容器

Container 是一个组件,将用于扩展其他组件,如窗口、面板、框架、对话框和 Applet,如上图所示。

  • 窗户:窗口是一个不包含边框和菜单栏的容器。我们必须使用另一个窗口、框架和对话框来创建一个窗口。创建实例就是创建Window Container 的方式。
  • 控制板:面板也是一个不包含标题栏、菜单或边框的容器。它是一个容器,保存按钮、文本字段等组件。创建实例就是创建面板容器的方法,可以添加组件。
  • 框架:Frame 是创建 AWT 应用程序时使用的容器。它可以有标题栏、菜单栏、边框以及按钮、滚动条等组件。
  • 对话:对话框是一个容器,它将显示我们想要在屏幕上显示的消息。

2. 按钮

按钮是一个带标签的组件,单击时会执行事件。它是由 Button 类创建的。单击时,它会通过 AWT 发送 ActionEvent 的实例来执行某些操作。 ActionEvent 在按钮上调用 processEvent,它接收所有事件并通过调用自己的 processActionEvent 方法来执行操作。为了完成这些事情,它需要实现 ActionListener。按钮类的声明将是

public class Button extends Component implements Accessible

它包含 2 个构造函数:

  1. Button() : This constructor will create a button with no label
  2. 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);
    }
}

我们可以通过以下命令来运行它:

输出:

Output

3. 标签

它用于显示容器中的文本。它将以以下形式显示文本只读,用户不能直接更改。我们需要创建一个Label Class的实例来创建Label。标签类别声明将是

public class Label extends Component implements Accessible

它有 3 个构造函数:

  1. Label() : Creates an Empty Label.
  2. Label(String labelname) : Creates a Label with labelname as parameter value.
  3. 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);
    }
}

我们可以通过以下命令来运行它:

输出:

Output

4. 复选框

它用于在容器中创建复选框。它可以通过选中和取消选中复选框来获取 true 或 false 值。

  • 检查 - 返回 true
  • 未选中 - 返回 false

它可以通过创建 Checkbox 的实例来创建。标签类别声明将是

public class Checkbox extends Component implements ItemSelectable, Accessible  

它有 5 个构造函数:

  1. Checkbox() : Creates a checkbox with empty label
  2. Checkbox(String checkboxlabel) : Creates a Checkbox with checkboxlabel as parameter value.
  3. Checkbox(String checkboxlabel, boolean status) : Creates a Checkbox with checkboxlabel as parameter value and sets the status either true or false.
  4. Checkbox(String checkboxlabel, boolean status, CheckboxGroup cbgroup) : Creates a Checkbox with checkboxlabel as parameter value and sets the status to the specified checkbox group.
  5. 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);
    }
}

我们可以通过以下命令来运行它:

输出:

Output

在上面的输出中,我们可以选择这两个选项。

示例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);
    }
}

我们可以使用命令来运行它:

输出:

Output

在上面的输出中,我们可以选择任何一个选项,因为它充当单选按钮。

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);
    }
}

我们可以通过以下命令来运行它:

输出:

Output

6. 清单

列表对象创建一个项目列表,我们可以在其中一次选择一个或多个项目。我们需要创建一个List类的实例来创建一个List。标签类别声明将是

public class List extends Component implements ItemSelectable, Accessible  

它有 3 个构造函数:

  1. List() : Creates a new Scrolling List
  2. List(int noofrows) : Creates a new Scrolling List which displays the list of items with given no. of rows visible with parameter noofrows.
  3. 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:

Output

在此输出列表中,我们可以一次选择任何一项。

输出2:

Output

在此输出列表中,我们可以一次选择多个项目。这些是 Component 类和有关组件类中存在的所有组件。

经常问的问题

1.Java中什么是组件?

组件是可以在屏幕上显示的具有图形表示的交互对象。

2.哪些组件不能添加到框架中?

Java Swing 中的某些组件无法直接添加到框架中。下面提到了一些组件:

  1. MenuBar
  2. Scrollbar
  3. Dialog
  4. Applet


相关用法


注:本文由纯净天空筛选整理自devasishakula503大神的英文原创作品 Component Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。