博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Swing学习
阅读量:4959 次
发布时间:2019-06-12

本文共 2096 字,大约阅读时间需要 6 分钟。

   在Java学习的过程中,我们时常会因为控制台程序的枯燥而失去了学习Java的乐趣,那么今天我们就开始学习Java的Swing。也就是GUI(Graphical user interface),在应用到GUI时,你就可以体会到编程的乐趣。

下面我就以我编写的一个程序结果为例,向大家阐述一下,在Java中如何建立窗口以及容器中组件的布局。程序运行结果如下:

首先从图片本身开始分析:我们可以看到一个窗口,在窗口上面有这么五个按钮,然后五个按钮分部在这个窗体的边界。于是有了边界布局。从程序上面我们也是运用这样的逻辑实现的。创建窗口运用到java.awt.Frame类

代码如下:

//调用父类的一个构造方法,创建一个标题为“边界布局”的窗口super("边界布局");//设置窗口的大小,以像素为单位this.setSize(200,300);//设置窗口的起始位置(左上角坐标)this.setLocation(100,100);//设置窗口关闭时的默认操作this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

然后是创建按钮

//实例化面板对象     p = new JPanel();//创建一个边界布局管理器对象,并把布局设置到面板中  p.setLayout(new BorderLayout());  b1 = new JButton("Button 东");  b2 = new JButton("Button 西");  b3 = new JButton("Button 南");  b4 = new JButton("Button 北");  b5 = new JButton("Button 中");

最后是将按钮加入到面板中,并设置布局方式

1 p.add(b1,BorderLayout.EAST);2  p.add(b2,BorderLayout.WEST);3  p.add(b3,BorderLayout.SOUTH);4  p.add(b4,BorderLayout.NORTH);5  p.add(b5,BorderLayout.CENTER);

其中包含的类是java.awt.BorderLayout;主要的代码就是这些。

完整的代码如下:

1 package com.example; 2 import java.awt.BorderLayout; 3 import javax.swing.*; 4  5  6 public class BorderLayoutDemo extends JFrame{ 7     private JPanel p; 8     private JButton b1,b2,b3,b4,b5; 9     public BorderLayoutDemo(){10         super("边界布局");11         p = new JPanel();12         //创建一个边界布局管理器对象,并把布局设置到面板中13         p.setLayout(new BorderLayout());14         b1 = new JButton("Button 东");15         b2 = new JButton("Button 西");16         b3 = new JButton("Button 南");17         b4 = new JButton("Button 北");18         b5 = new JButton("Button 中");19 20         p.add(b1,BorderLayout.EAST);21         p.add(b2,BorderLayout.WEST);22         p.add(b3,BorderLayout.SOUTH);23         p.add(b4,BorderLayout.NORTH);24         p.add(b5,BorderLayout.CENTER);25 26         this.add(p);27         this.setSize(1000,1000);28         this.setLocation(100,100);29         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);30     }31     public static void main(String[]args){32         BorderLayoutDemo f = new BorderLayoutDemo();33         f.setVisible(true);34     }35 }

 

转载于:https://www.cnblogs.com/Wade-James/p/7739458.html

你可能感兴趣的文章
Essential reading: My top 10 books (zz)
查看>>
前端实现表格基于游览器固定显示
查看>>
Mac下安装 MongoDB
查看>>
2018秋季C语言学习总结
查看>>
node.js通俗理解
查看>>
IIS上部署WCF服务
查看>>
湖南集训day4
查看>>
轻松搞定数据验证(二)
查看>>
平时对ES6的一些总结
查看>>
jQuery 基础学习
查看>>
一个简单的 MVVM 实现
查看>>
CABasicAnimation
查看>>
UML建模——用例图(Use Case Diagram)
查看>>
LINUX诞生
查看>>
大学毕业一个月的微型总结
查看>>
Linuxer-"Linux开发人员自己的媒体"第五月稿件和赠书名单
查看>>
unittest -官网文档学习笔记-TestCase class
查看>>
unbuntu 安装一些常用软件
查看>>
软件工程实践第二次作业
查看>>
ansible入门01
查看>>