首页 > 编程语言 >Java笔记(10) GUI->布局

Java笔记(10) GUI->布局

时间:2023-04-05 22:24:35浏览次数:52  
标签:10 Java 300 GUI BorderLayout add new Button myFrame

这里介绍3种布局:

  1. FlowLayout 流式布局
  2. BorderLayout 边界布局
  3. GridLayout 网格布局

FlowLayout

/*MyFrame定义见 Java笔记9,这里添加了事件监听方法*/
public class TestFlowLayout {
    public static void main(String[] args) {
        MyFrame myFrame = new MyFrame(300, 300, 500, 500, Color.GRAY);
        //组件--按钮
        Button button1 = new Button("Button1");
        Button button2 = new Button("Button2");
        Button button3 = new Button("Button3");
        myFrame.setLayout(new FlowLayout(FlowLayout.TRAILING));//添加默认的流式布局的中间位置
        myFrame.add(button1);
        myFrame.add(button2);
        myFrame.add(button3);
    }
}

流式布局FlowLayout.CENTER

BorderLayout

public class TestBorderLayout {
    public static void main(String[] args) {
        MyFrame myFrame = new MyFrame(300, 300, 400, 300, Color.GRAY);
        myFrame.setLayout(new BorderLayout());//设置BorderLayout
        //设置五个按钮
        Button button1 = new Button("Center button");
        Button button2 = new Button("North button");
        Button button3 = new Button("South button");
        Button button4 = new Button("West button");
        Button button5 = new Button("East button");

        //将按钮添加到Frame中时,指定在组件中的位置
        myFrame.add(button1, BorderLayout.CENTER);
        myFrame.add(button2, BorderLayout.NORTH);
        myFrame.add(button3, BorderLayout.SOUTH);
        myFrame.add(button4, BorderLayout.WEST);
        myFrame.add(button5, BorderLayout.EAST);
    }
}

BorderLayout

GridLayout网格布局

public class TestGridLayout {
    public static void main(String[] args) {
        MyFrame myFrame = new MyFrame(300, 300, 400, 300, Color.GRAY);
        myFrame.setLayout(new GridLayout(2, 3, 20, 10));

        Button button1 = new Button("button1");
        Button button2 = new Button("button2");
        Button button3 = new Button("button3");
        Button button4 = new Button("button4");
        Button button5 = new Button("button5");
        Button button6 = new Button("button6");

        myFrame.add(button1);
        myFrame.add(button2);
        myFrame.add(button3);
        myFrame.add(button4);
        myFrame.add(button5);
        myFrame.add(button6);
        //myFrame.pack();//自动优化布局,会把布局缩小到尽量小
    }
}

GridLayout

标签:10,Java,300,GUI,BorderLayout,add,new,Button,myFrame
From: https://www.cnblogs.com/hiibird/p/17290029.html

相关文章

  • java文件上传审计
    审计点简述  审计文件名-审计后缀名-审计文件内容-审计点--文件名称1.文件名存在目录穿越漏洞漏洞原因:开发者直接将用户输入的文件名拼接在路径上进行查找漏洞修复:开发者直接指定一个路径,不信任用户的路径(添加一个时间戳)文件名直接拼接产生漏洞:/ab/c+file_name--......
  • Win10彻底关闭自动更新
     WIN10彻底关闭自动更新一、禁用WindowsUpdate服务1、同时按下键盘Win+R,打开运行对话框,然后输入命令services.msc,回车。2、找到WindowsUpdate这一项,并双击打开。3、双击打开它,点击“停止”,把启动类型选为“禁用”,最后点击应用。4、接着点“恢复”选项,将默认的......
  • Java Stream学习笔记(一)
    JavaStream学习笔记Stream是Java8API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合(侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式)。一、特点1、代码简洁:函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告别for循环。2、多核友好......
  • Failed to start bean 'documentationPluginsBootstrapper';nested exception is jav
    报错:Failedtostartbean‘documentationPluginsBootstrapper’;nestedexceptionisjava.lang.NullPointerException错误项目版本:springboot最新版本<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-sta......
  • Java进制转换
    publicstaticvoidmain(String[]args){ Scannerscan=newScanner(System.in); Stringrs="2022"; System.out.println(Integer.parseInt(rs,9)); scan.close();}上述代码实现的功能:将2022的9进制数转化为10进制......
  • JavaScript基础知识之——Location 对象详解
    属性描述location.hash设置或取得URL中的锚location.host设置或取得URL中主机(包括端口号)location.hostname设置或取得URL中的主机名location.href设置或取得完整URL(页面重定向应用)location.pathname设置或取得URL中的路径location.port设置或取得URL中的端口号location.......
  • MYSQL ERROR1045 报错的解决办法
    问题原因是密码错误导致的但是我输入的密码是安装MYSQL的时候设定的密码,应该是正确的。其实并不是,因为mysql会随机生成一个乱码作为你的密码。你需要改掉(或者记下)这个密码。解决方法:1.在my.ini中输入以下内容3.保存之后在命令行输入netstartmysql启动服务4.免密码登陆my......
  • 【转】Java8之Consumer、Supplier、Predicate和Function攻略
    Java8之Consumer、Supplier、Predicate和Function攻略这几个接口都在 java.util.function 包下的,分别是Consumer(消费型)、supplier(供给型)、predicate(谓词型)、function(功能性),相信有了后面的解释,你应该非常清楚这个接口的功能了。Java8函数式接口Predicate、Consumer、Function......
  • DPST1091 23T1 CS Pizzeria求解
    CSPizzeriaPanteawantstostartapizzashop(pizzeria),butshehasnowaytomanageit.Howwilltheykeeptrackoftheirorders?Howwilltheykeeptrackoftheirfinances?DPST1091isrequestingyoutobuildaprogramwhichwillhelpthemmanagethei......
  • java -- Stringbuild、Date和Calendar类
    Stringbuild类由于String类的对象内容不可改变,每次拼接都会构建一个新的String对象,既耗时,又浪费内存空间这时需要通过java提供的StringBuild类解决这个问题StringBuilder又称为可变字符序列,它是一个类似于String的字符串缓冲区,可以看作是一个容器,容器中可以装很多字符串可......