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窗体形成的结构,然后再去好好了解更多的面板、布局、组件的功能即可
  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓小邰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值