图形界面----布局管理器

2024-08-21 11:32

本文主要是介绍图形界面----布局管理器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. FlowLayout是流式布局管理器,使用后,所有组件会像流水一样排列。

    package GUI;

    import java.awt.Button;
    import java.awt.FlowLayout;

    import javax.swing.JButton;
    import javax.swing.JFrame;

    public class LayoutManagerDemo01 {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    JFrame j = new JFrame();
    j.setLayout(new FlowLayout(FlowLayout.CENTER,30,3));

    JButton jb ;

    for(int i=0;i<9;i++){
    jb = new JButton("按钮"+i);
    j.add(jb);
    }

    j.setSize(200, 200);
    j.setLocation(300, 300);
    j.setVisible(true);
    }

    }



  2. BorderLayout是将窗体划分成东南西北中5个区域,可以把组件分别放入其中一个。

    package GUI;

    import java.awt.BorderLayout;

    import javax.swing.JButton;
    import javax.swing.JFrame;

    public class LayoutManagerDemo02 {
    public static void main(String[] args){
    JFrame j = new JFrame();
    j.setLayout(new BorderLayout());

    j.add(new JButton("1111"),BorderLayout.NORTH);
    j.add(new JButton("2222"),BorderLayout.EAST);

    j.add(new JButton("3333"),BorderLayout.WEST);

    j.add(new JButton("4444"),BorderLayout.SOUTH);

    j.add(new JButton("5555"),BorderLayout.CENTER);
    j.setSize(300, 300);
    j.setVisible(true);

    }
    }



  3. GridLayout布局管理器是以表格的形式呈现的,实例化是必须设置行列数。如果不设置默认为1行。

    package GUI;

    import java.awt.GridBagLayout;
    import java.awt.GridLayout;

    import javax.swing.JButton;
    import javax.swing.JFrame;

    public class LayoutManagerDemo03 {
    public static void main(String[] args){
    JFrame j = new JFrame();
    j.setLayout(new GridLayout(3,3));
    JButton jb ;
    for(int i =0;i<9;i++){
    jb = new JButton("按钮"+i);
    j.add(jb);
    }
    j.setSize(300, 300);
    j.setLocation(300, 300);
    j.setVisible(true);

    }
    }



  4. CardLayout就像一组组件重叠放置,像卡片一样,一次只展示一张。

    package GUI;

    import java.awt.CardLayout;
    import java.awt.Container;

    import javax.swing.JFrame;
    import javax.swing.JLabel;

    public class LayoutManagerDemo04 {
    public static void main(String[] args){
    JFrame j = new JFrame();
    CardLayout card = new CardLayout();
    j.setLayout(card);
    Container con = j.getContentPane();
    con.add(new JLabel("1111"),"1");
    con.add(new JLabel("2222"),"2");
    con.add(new JLabel("3333"),"3");
    con.add(new JLabel("4444"),"4");
    con.add(new JLabel("5555"),"5");

    j.setSize(300,300);
    j.setLocation(300, 300);
    j.setVisible(true);
    card.show(con, "1");
    for(int i = 0;i<5;i++){
    try {
    Thread.sleep(3000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    card.next(con);
    }
    }
    }



  5. 还可以通过绝对布局完成

    package GUI;

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;

    public class LayoutManagerDemo05 {

    /**
    * @param args
    */
    public static void main(String[] args) {
    JFrame j = new JFrame();
    j.setLayout(null);
    JButton jb1 = new JButton("按钮1");
    JLabel jl = new JLabel("标签1");
    JButton jb2 = new JButton("按钮2");
    //4个参数分别为 横坐标 ,纵坐标,长度,宽度
    jb1.setBounds(50, 50, 100, 50);
    jb2.setBounds(200, 50, 100, 50);
    jl.setBounds(50, 100, 50, 50);
    j.add(jb1);
    j.add(jb2);
    j.add(jl);
    j.setSize(300, 300);
    j.setLocation(300, 300);
    j.setVisible(true);
    }

    }




这篇关于图形界面----布局管理器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093031

相关文章

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

Linux之软件包管理器yum详解

《Linux之软件包管理器yum详解》文章介绍了现代类Unix操作系统中软件包管理和包存储库的工作原理,以及如何使用包管理器如yum来安装、更新和卸载软件,文章还介绍了如何配置yum源,更新系统软件包... 目录软件包yumyum语法yum常用命令yum源配置文件介绍更新yum源查看已经安装软件的方法总结软

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用