栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java Swing窗体编写——窗口创建思想

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Swing窗体编写——窗口创建思想

目录

Java Swing

1.常见组件的介绍

1.1.相关内容

1.2.创建思想 

2.总结


Java Swing

1.常见组件的介绍

JFrame、JPanel、JLabel、JTextArea、JTextField等等

1.1.相关内容
  • 容器:例如JFrame,用于面板的放入
  • 面板:例如JPanel,用于设置布局,设置背景图片,用于组件的放入
  • 布局:用于组件的排版模式,有流式布局、边界布局、以及绝对布局
  • 组件:用于给用户显示相关内容或触发事件,例如按钮、标签、文本框

1.2.创建思想 
  • 创建并设置底层容器JFrame宽高,JFrame就是一个空白窗口,如下代码与图片:
    import javax.swing.*;
    public class Frame {
         JFrame jFrame; //定义窗口类JFrame的变量名jFrame
         Frame(){
            jFrame=new JFrame("窗口"); //窗口标题为“窗口”
            jFrame.setSize(500,300); //设置窗口大小,宽500像素,高300像素
            jFrame.setResizable(false); //设置窗口是否可以最大化,false为不可最大化
            jFrame.setLocationRelativeTo(null); //设置窗口的父窗口,显示于父窗口中间位置,设置为null,表示以电脑窗口为父窗口,因此此窗口运行后居中显示
            jFrame.setVisible(true); //运行程序后显示该窗口,默认为不显示,因此需要设置为true
            jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //窗口关闭后的操作
         }
        public static void main(String[] args) {
            Frame frame=new Frame();
        }
    }
    

  • 设置面板、设置面板布局和组件,下面是JPanel默认的流式布局:
    import javax.swing.*;
    
    public class Frame {
       JFrame jFrame;
       JPanel jPanel;
       JButton jButton;
       JLabel jLabel;
       JTextField jText;
       JTextArea jTextArea;
    
       Frame() {
          jPanel=new JPanel(); //创建面板,面板默认布局是FlowLayout(流式布局)
          jButton =new JButton("按钮");
          jLabel=new JLabel("标签");
          jText=new JTextField(10); //设置文本框的列数(实质上就是宽度)
          jTextArea =new JTextArea(10,10); //文本区是用来写文章的,所以设置文本区的宽高
          jPanel.add(jLabel); //将组件jLabel放入面板
          jPanel.add(jText); //将组件文本框放入面板
          jPanel.add(jTextArea); //将组件文本区放入面板
          jPanel.add(jButton); //将组件按钮放入面板
          jFrame = new JFrame("窗口");
          jFrame.add(jPanel); //再将放入组件的面板放入jFrame窗口容器,得到如下图
          jFrame.setSize(500, 300);
          jFrame.setResizable(false);
          jFrame.setLocationRelativeTo(null);
          jFrame.setVisible(true);
          jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
       }
    
       public static void main(String[] args) {
          Frame frame = new Frame();
       }
    }
    

 布局其实就是安排组件的放入模式,这里的流式布局就是将组件一个接着一个从左到右放入组件

下面是绝对布局:

import javax.swing.*;

public class Frame {
   JFrame jFrame;
   JPanel jPanel;
   JButton jButton;
   JLabel jLabel;
   JTextField jText;
   JTextArea jTextArea;

   Frame() {
      jPanel=new JPanel(null); //设置面板为绝对布局(null)
      jLabel=new JLabel("标签");
      jLabel.setBounds(10, 20, 60, 30); //设置组件坐标和大小,x轴坐标为10(也就是距离窗口左边边框10个像素,距离y轴20(也就是距离窗口上边框20个像素
      jText=new JTextField(10);
      jText.setBounds(50, 20, 200, 30);
      jTextArea =new JTextArea(10,10);
      jTextArea.setBounds(50, 60, 200, 100);
      jButton =new JButton("按钮");
      jButton.setBounds(120, 180, 60, 30);

      jPanel.add(jLabel);
      jPanel.add(jText);
      jPanel.add(jTextArea);
      jPanel.add(jButton);
      jFrame = new JFrame("窗口");
      jFrame.add(jPanel);
      jFrame.setSize(500, 300);
      jFrame.setResizable(false);
      jFrame.setLocationRelativeTo(null);
      jFrame.setVisible(true);
      jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
   }

   public static void main(String[] args) {
      Frame frame = new Frame();
   }
}

 绝对布局就是一个空布局,不对组件有任何约束,组件通过自身设置坐标和宽高来放入空布局中

2.总结
  • 不难看出java窗体的形成就是嵌套
  • 先创建空白容器,接着创建面板,然后在面板中设置布局,最后将组件放入面板,最后将面板放入容器
  • 这里只是举了一部分例子,知道java窗体形成的结构,然后再去好好了解更多的面板、布局、组件的功能即可
暑期编程PK赛 得CSDN机械键盘等精美礼品!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016195.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号