首页 > 编程语言 >初识Java GUI 编程

初识Java GUI 编程

时间:2024-10-21 23:20:26浏览次数:6  
标签:JFrame Java GUI JButton 初识 组件 new frame

文章目录

前言

在当今的软件开发领域,图形用户界面(GUI)的重要性不言而喻。它为用户提供了直观、友好的交互方式,使得软件更加易于使用和操作。在 Java 中,我们可以使用强大的 GUI 编程工具来创建各种类型的应用程序界面。本篇博客介绍Java中的GUI编程的基本知识

一、什么是 GUI 编程?

GUI,即图形用户界面(Graphical User Interface),是一种通过图形元素(如窗口、按钮、文本框等)来与用户进行交互的界面设计方式。与命令行界面相比,GUI 更加直观、易于理解和操作。
在 Java 中,GUI 编程主要涉及使用 Java 的图形库和组件来构建用户界面。这些组件可以响应用户的操作,如点击按钮、输入文本等,并执行相应的业务逻辑。

二、Java GUI 编程的基础组件

1. JFrame

JFrame:这是 Java GUI 编程中的基础容器,它代表一个窗口。可以设置窗口的标题、大小、位置等属性。

import javax.swing.*;

public class IntroJFrame {
    public static void main(String[] args) {
//        创建没有标题的窗口
        JFrame frame = new JFrame("My First GUI");
//        将窗口设置为可见
        frame.setVisible(true);
//        设置窗口大小及位置
        frame.setBounds(100, 100, 450, 300);
//        设置关闭方式
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}

运行结果:
在这里插入图片描述

在上面的代码中,我们创建了一个简单的JFrame窗口,设置了标题、大小,并在最后使窗口可见。

2.JButton

JButton:按钮组件,用户可以点击按钮来触发特定的操作。

import javax.swing.*;
import java.awt.*;

public class IntroJButton {
    public static void main(String[] args) {
//        frame窗口的基本设置
        JFrame frame = new JFrame("IntroJButton");
//        设置布局方式
        frame.setLayout(new FlowLayout());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setBounds(400, 400, 500, 500);
        frame.setVisible(true);
//        创建按键类型的组件
        JButton button = new JButton("Button");
//        能否点击
        button.setEnabled(false);
//        设置边界线
        button.setBorderPainted(false);
//        添加到窗口
        frame.add(button);
    }
}

运行结果:
在这里插入图片描述

这里创建了一个带有按钮的窗口,当用户点击按钮时,可以通过添加事件监听器来执行特定的操作。

3. JLabel

JLabel:标签组件,用于显示文本或图像。

import javax.swing.*;

// 显示文本或提示信息
public class IntroJLabel {
    public static void main(String[] args) {
        JFrame frame = new JFrame("IntroJLabel");
        frame.setBounds(400, 400, 300, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

//        构造方法有很多种,可以自行查看
        JLabel label = new JLabel("账号:",SwingConstants.LEFT);
        frame.add(label);

    }
}

提示

提示:各种组件的方法属性等,可以通过ctrl+鼠标右击自行查看
在这里插入图片描述

三、布局管理器

在 Java GUI 编程中,布局管理器用于控制组件在容器中的排列方式。常见的布局管理器有:

  1. FlowLayout:按照从左到右、从上到下的顺序排列组件。
  2. BorderLayout:将容器分为五个区域:北、南、东、西和中心,每个区域只能放置一个组件。
  3. GridLayout:将容器划分为网格,组件按照行和列的方式排列。

例如,使用FlowLayout

import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.FlowLayout;

public class FlowLayoutExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.setLayout(new FlowLayout());

        JButton button1 = new JButton("Button 1");
        JButton button2 = new JButton("Button 2");
        JButton button3 = new JButton("Button 3");

        frame.add(button1);
        frame.add(button2);
        frame.add(button3);

        frame.setVisible(true);
    }
}

运行结果:
在这里插入图片描述

结语

本篇博客初步介绍了 GUI 编程的概念、基础组件和布局管理器,希望能够对你有所帮助!!!

标签:JFrame,Java,GUI,JButton,初识,组件,new,frame
From: https://blog.csdn.net/2401_85464956/article/details/143135607

相关文章

  • Java数据结构---顺序表
    目录一、线性表二、顺序表2.1、顺序表的定义 2.2、顺序表的接口实现三、ArrayList3.1、 ArrayList简介3.2、ArrayList的实现 3.3、ArrayList实现的完整代码一、线性表线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用......
  • 【Javaee】网络编程-TCP Socket
    前言前文中我们介绍了UDPSocket相关的构造方法和方法,并实现了UDP的回显服务器和客户端。本篇将介绍TCPSocket,并使用TCPSocketapi实现服务器和客户端的通信一.TCPSocket的常见方法1.ServerSocketServerSocket是创建TCP服务端Socket的API1)ServerSocket构造方法方......
  • Java中super关键词的用法和注意事项
    在Java中,super关键字用于引用当前对象的父类。它主要有以下几种用途:1.访问父类的属性和方法:当子类中定义了与父类同名的属性或方法时,可以使用super关键字来明确指出要访问的是父类中的属性或方法。2.调用父类的构造器:在子类的构造方法中,可以使用super()来显式调用父类的构造器,以......
  • Java
    JavaHelloworld!psvm解释语句,main方法,main(参数),以上无参数,sout输出注:注意大小写文件名和类名需要保持一致命名规则,首字母小写驼峰式命名标识符能字母,$,_,开头不能以关键字作为变量名或方法名注意大小写(大写的跟小写的不是同一个变量)不能以特殊符号,数字来命名下划......
  • 【Coroutines】Implement JavaScript Promise by Kotlin Coroutine
    Expecteduseasynctolaunchaasynctaskuseawaittowaitresultfromotherworkasync{valuser=await<String>{loadUserInfo()}println(user)println("asyncreturned")}println("asyncnotreturn")Implementat......
  • dfs题目:平衡二叉树(java)
    平衡二叉树题目思路开始的error代码(最后一行return的地方有误)修正的代码题目链接:平衡二叉树题目题目思路用分治的思想,要想看看以root为根节点的二叉树是不是平衡二叉树,得看他的左子树和右子树是不是平衡二叉树,如果左子树和右子树都是平衡的,且root自己是平衡的......
  • 基于Java+Jsp+Ssm+Mysql实现的在线乡村风景美食景点旅游平台功能设计与实现十五
    一、前言介绍:1.1项目摘要乡村风景美食旅游平台的课题背景主要基于我国旅游产业的现状与发展需求。当前,我国旅游产业虽然发展迅速,但仍然存在基础薄弱、管理手段滞后、信息化程度低等问题。旅游行政管理部门的管理方式相对落后,缺乏有效的信息化管理手段,信息沟通渠道不畅,这......
  • 基于Java+Jsp+Ssm+Mysql实现的在线乡村风景美食景点旅游平台功能设计与实现十六
    一、前言介绍:1.1项目摘要乡村风景美食旅游平台的课题背景主要基于我国旅游产业的现状与发展需求。当前,我国旅游产业虽然发展迅速,但仍然存在基础薄弱、管理手段滞后、信息化程度低等问题。旅游行政管理部门的管理方式相对落后,缺乏有效的信息化管理手段,信息沟通渠道不畅,这......
  • 基于Java实现的羽毛球馆管理系统设计与实现(源码+文档+部署讲解等)
    文章目录1.前言2.详细视频演示3.程序运行示例图4.文档参考5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue5.3程序操作流程6.选题推荐7.原创毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10.为什么选择我?11.获取源码1.前言......
  • Java反射
    Java反射引言在已知全类名的情况下,如果不通过new方法,如何创建一个对象并调用其方法?答:通过Java反射下面是实现的代码,仅展示一下反射用法,后面会讲如何使用配置参数class.path=com.shen.inspection.modules.reflection.DemoEntitymethod.name=hello需要创建实例的类......