0 0

一个关于swing中添加组件的基本问题5

下面这段代码直接在JFrame上add一个button,这样的话button是加在JFrame的哪个层次上的?为什么这样加的话两个按钮是重叠在一起的,如图所示。
import javax.swing.*;
public class ButtonTest extends JFrame{
    private JButton button1 = new JButton("确定");
    private JButton button2 = new JButton("取消");
    public ButtonTest(){
        setSize(500,500);
        add(button1);
        add(button2);
    }
    public static void main(String[] args) {
        ButtonTest f = new ButtonTest();
        f.setVisible(true);
    }
}

而如果创建一个JPane对象panel1,将contentPane set为panel1,在panel1上添加就得到我想要的效果了,如图所示。
import javax.swing.*;
public class ButtonTest extends JFrame{
    private JButton button1 = new JButton("确定");
    private JButton button2 = new JButton("取消");
    private JPanel panel1 = new JPanel();
    public ButtonTest(){
        setSize(500,500);
        setContentPane(panel1);
        panel1.add(button1);
        panel1.add(button2);
    }
    public static void main(String[] args) {
        ButtonTest f = new ButtonTest();
        f.setVisible(true);
    }
}

请问这两种方式有什么区别?



2012年10月08日 12:41
  • 大小: 1.2 KB
  • 大小: 2.8 KB

1个答案 按时间排序 按投票排序

0 0

采纳的答案

对于JFrame和JWindow这样的顶层框架来说,默认的布局管理器是边界布局(BorderLayout);JPanel默认的布局管理器为FlowLayout。

因此,直接使用JFrame的add方法添加,相当于都加到了center,因此后面的会覆盖前面的
而JPanel直接使用add方法,FlowLayout会将控件居中排列分布

2012年10月08日 14:00

相关推荐

    SWING用户界面组件

    这个实验报告主要探讨了如何使用Swing组件来创建一个简单的用户界面。Swing提供了一系列的组件,如按钮、文本框、标签、文本区域等,使得开发者可以方便地构建功能丰富的桌面应用程序。 在给出的代码中,`...

    Swing用户界面组件

    Swing是Java编程语言中用于构建图形用户界面(GUI)的一个强大的工具包,它是Java Foundation Classes(JFC)的一部分。Swing提供了丰富的组件集,允许开发者创建美观且功能丰富的应用程序。在Swing中,组件通常被...

    swing各种组件举例

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。在 Swing 中,开发者可以创建丰富的、高度可定制的桌面应用程序。本教程主要聚焦于Swing中的各种组件及其用法,...

    Swing组件教案及示例程序

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。这个“Swing组件教案及示例程序”压缩包文件显然包含了关于如何使用Swing来创建丰富的桌面应用程序的教学材料和...

    java Swing用户界面组件

    在Swing中,组件是构成用户界面的基本元素,它们可以是按钮、文本框、菜单等,每个组件都有其特定的功能和用途。 Swing组件库是基于Java AWT(Abstract Window Toolkit)的,但相比AWT,Swing组件是轻量级的,它们...

    几个漂亮的SWING组件(源代码)

    例如,一个漂亮的Swing组件可能使用了`LookAndFeel` API来自定义组件的外观,使其符合特定的设计风格。另一个可能实现了自定义布局管理器,以便在窗口中更灵活地排列组件。还有可能是对组件进行了扩展,添加了额外的...

    swing组件介绍(一)

    综上所述,"swing组件介绍(一)"可能会涵盖Swing的基本概念、核心组件、布局管理、事件处理以及一些实用工具类,帮助初学者理解Swing在开发Java桌面应用中的重要性和用法。对于深入学习Swing,开发者还需要了解高级...

    swing组件的详细介绍

    Swing是Java编程语言中用于创建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。在早期的Java版本(如JDK 1.0和1.1)中,Abstract Window Toolkit (AWT)是主要的GUI构建模块,但AWT存在两...

    Java Swing'组件集合

    Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java AWT(Abstract Window Toolkit)的扩展。在Swing中,你可以找到一系列组件用于创建功能丰富的桌面应用程序。本篇文章将深入探讨Java Swing组件...

    swing组件和容器实例

    Swing 是 Java 语言中一个用于构建图形用户界面的库,它提供了许多强大的组件和容器来帮助开发者快速创建图形界面。今天,我们将介绍 Swing 中的重量级容器和轻量级容器,并探讨它们的实例用法。 重量级容器 在 ...

    Swing中JTABLE中添加JBUTTON控件

    在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式查看和操作数据。而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户...

    Swing组件应用实例

    `JPanel`是一个容器,可以用来组合其他组件。它提供了布局管理,可以帮助我们组织界面元素。例如: ```java JPanel panel = new JPanel(); panel.add(button); panel.add(textField); ``` `JFrame`是顶级容器,...

    Java Swing组件布局管理器之FlowLayout(流式布局)入门教程

    Java Swing 组件布局管理器之 ...这个示例代码中,我们创建了一个 JFrame,并在其中添加了多个组件,包括 JComboBox、JTextField 等。我们使用 FlowLayout 来布局这些组件,并设置了对齐方式、水平间隙和垂直间隙。

    swing 组件 demo

    Swing是Java编程环境中用于构建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。Swing提供了一系列组件,使得开发者能够创建功能丰富的、美观的应用程序。在这个"Swing组件demo"中,我们...

    Swing组件下载(常用组件)

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了一系列组件,使得开发者可以构建功能丰富的、具有吸引力的桌面应用程序。以下是一些Swing组件的详细...

    swing自定义JTabbedPane组件外观

    在Java Swing库中,`JTabbedPane`是一个非常重要的组件,它允许用户在多个面板(JPanel)之间切换,每个面板都可以包含不同的内容。自定义`JTabbedPane`的外观可以提升应用程序的用户体验,使其更加个性化和专业。...

    Java Swing 日期时间组件

    在Java Swing中,创建一个`DateChooser`组件的基本步骤如下: 1. 引入JDatePicker库:首先,你需要在项目中引入JDatePicker库,通常通过Maven或Gradle的依赖管理来完成。 2. 创建Date Picker实例:使用`JDatePicker...

    java Swing 组件

    ### Java Swing 组件详解 ...通过以上介绍,我们可以看出 JCheckBox 在 Java Swing 中是一个非常重要的组件,它不仅支持基本的文本和图像显示,还支持更复杂的事件处理逻辑,从而能够满足各种不同的应用场景。

    菜单及Swing组件

    首先,菜单(Menu)是用户界面中一个不可或缺的部分,它允许用户通过点击来执行特定的操作或访问其他功能。在Swing中,我们可以通过`JMenuBar`、`JMenu`和` JMenuItem`类来创建菜单系统。`JMenuBar`是整个菜单栏的...

Global site tag (gtag.js) - Google Analytics