我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaGUI常用窗体组件与面板使用详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaGUI常用窗体组件与面板使用详解

1.常用的窗体

1.概述

Swing组件通常被称作“轻量级组件”,它完全由Java编写,不依赖操作系统语言。

类继承关系

JavaSwing组件间的继承关系

JComponent 是swing组件存放的位置,常见的组件如下:

2.JFrame

JFrame是一个容器,它是各个组件的载体,在开发的过程中,我们通过继承 java.swing。JFrame 来创建要的窗体

1.新建JFrame对象

JFrame()创建没有标题窗口

Frame(String s)创建标题为s的窗口

2.设置JFrame的大小

public void setSize(int width,int height) 设置窗口的大小
public void setLocation(int x,int y)  设置窗口的位置,默认位置是(0,0)
public void setBounds(int a,int b,int width,int height)  设置窗口的初始值位置是(a,b),窗口的宽是width,高是height
public void setVisible(boolean b)  设置窗口是否可见,窗口默认是不可见的
public void setResizable(boolean b)  设置窗口是否可调节大小,默认是可调整大小
public void dispose()  撤销当前窗口,并释放当前窗口所使用的资源
public void setExtendedState(int state)  设置窗口的扩展状态,其中参数state取JFrame类中的下列类常量:
MAXIMIZED_HORIZ(水平方向最大化)
MAXIMIZED_VERT(垂直方向最大化)
MAXIMIZED_BOTH(水平、垂直方向都最大化)

3.设定JFrame

import javax.swing.*;//导入swing这个包的所有类和接口
public class A {
    public static void main(String[] args){
        JFrame jf=new JFrame("hello");
//        jf.setSize(400,300);
//        jf.setLocation(600,350);
        jf.setBounds(600,350,400,300);
        jf.setVisible(true);//设置框架是否可见,true为可见,默认不可见。所以一定要写!!!!
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭方式(直接关闭应用程序),也可以写成JFrame.EXIT_ON_CLOSE
    }
}
import javax.swing.*;

这是java导入包的语法,表示导入swing这个包的所有类和接口

swing是图形可视包,导入这个包后才能进行GUI图形化软件的开发

import    代表“引入”

javax.swing  代表“路径” (在javax文件夹下的swing文件夹)

*         代表“全部”

3.JDialog

继承自 java.awt.Dialog 类。它是从一个窗体弹出来的另外一个窗体,它和Frame类似,需要调用 getContentPane 将窗体转换为容器,然后在容器中设置窗体的内存

JDialog:可当成——JFrame使用,但必须从属于JFrame

构造函数

JDialog();
JDialog(Frame f);//指定父窗口
JDailog(Frame f,String title);//指定父窗口 + 标题

关闭方式比JFrame少一种:

import javax.swing.*;//导入swing这个包的所有类和接口
public class A {
    public static void main(String[] args){
        JFrame jf=new JFrame("hello");
//        jf.setSize(400,300);
//        jf.setLocation(600,350);
        jf.setBounds(600,350,400,300);
        jf.setVisible(true);//设置框架是否可见,true为可见,默认不可见。所以一定要写!!!!
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置窗体关闭方式(直接关闭应用程序),也可以写成JFrame.EXIT_ON_CLOSE
        JDialog jd=new JDialog(jf,"JDailog");
        jd.setBounds(700,450,200,150);
        jd.setVisible(true);
        jd.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    }
}

2.常用的面板

面板也是一种swing容器,它可以作为容器添加容纳其他的组件,但是他自己必须被加在一个容器内

1.JPanel

JPanel 就是一种最简单的面板,他继承 java.awt.Contaniner 类

import javax.swing.*;
import java.awt.*;
public class B {
    public static void main(String[] args){
        JFrame jf=new JFrame("JPanel");
        jf.setBounds(600,350,600,500);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JButton jb1=new JButton("按钮1");
        JButton jb2=new JButton("按钮2");
        JPanel jp=new JPanel(new FlowLayout());
        jp.setPreferredSize(new Dimension(100,60));//这串代码好像并没有体现,不知道什么原因
        jp.setBackground(Color.gray);
        jf.add(jp);
        jp.add(jb1);
        jp.add(jb2);
    }
}

修改代码

import javax.swing.*;
import java.awt.*;
public class B {
    public static void main(String[] args){
        JFrame jf=new JFrame("JPanel");
        jf.setBounds(300,350,500,500);
        jf.setLayout(null);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JButton jb1=new JButton("按钮1");
        JButton jb2=new JButton("按钮2");
        JPanel jp=new JPanel(new FlowLayout());
        jp.setBounds(100,100,300,300);
        jp.setBackground(Color.gray);
        jf.add(jp);
        jp.add(jb1);
        jp.add(jb2);
    }
}

还是想有大佬可以指点一下问题的原因

2.JScrollPane

JScrollPane是带滚动条的面板。因此,在碰到需要将一个达到组件放到一个小较小的空间的时候,使用该面板,JScollPane 内只能添加一个个组件;因此,如果需要将多个组件添加到一个JScollPane 中时,需要添加的组件添加到 JPanel 中,再将 JPanel 添加到 JScollPane 中

import javax.swing.*;
import java.awt.*;
public class JScrollpane {
    public static void main (String[] args){
        JFrame jf=new JFrame("JScollPane");
        jf.setBounds(500,500,500,200);
        JButton jb=new JButton("香蕉");
        JButton jb2=new JButton("苹果");
        JButton jb3=new JButton("菠萝蜜");
        jb.setPreferredSize(new Dimension(300,300));
        JPanel jp=new JPanel();
        jp.add(jb);
        jp.add(jb2);
        jp.add(jb3);
        JScrollPane js=new JScrollPane(jp);
        jf.add(js);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

补充:

JButton在FlowLayout、BorderLayout等一些布局中使用setSize()设置大小无法生效的,可以使用setPreferredSize方法进行设置

使用布局管理器时,使用setPreferredSize方法:

jbutton.setPreferredSize(new Dimension(w,h));

使用绝对布局时:

jbutton.setBounds(x,y,w,h);

到此这篇关于JavaGUI常用窗体组件与面板使用详解的文章就介绍到这了,更多相关JavaGUI窗体组件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaGUI常用窗体组件与面板使用详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaGUI常用窗体组件与面板使用详解

GUI即图形用户界面,它是基于图形的界面,windows就是一个图形用户界面的操作系统,而DOS是基于命令提示符的操作系统,GUI编程就是编出一个图形用户界面的软件,它使用图形的方式,以菜单、按钮、表示、图文框等标准界面元素组成的用户操作界面
2023-03-06

Java GUI常用窗体组件与面板如何使用

这篇文章主要介绍“Java GUI常用窗体组件与面板如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java GUI常用窗体组件与面板如何使用”文章能帮助大家解决问题。1.常用的窗体1.概述S
2023-07-05

JavaGUI菜单栏与文本和密码及文本域组件使用详解

这篇文章主要介绍了JavaGUI菜单栏与文本和密码及文本域组件使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2023-03-03

vue组件component的注册与使用详解

组件是Vue是一个可以重复使用的Vue实例,它拥有独一无二的组件名称,它可以扩展HTML元素,以组件名称的方式作为自定义的HTML标签,这篇文章主要介绍了vue组件component的注册与使用,需要的朋友可以参考下
2022-11-13

【微信小程序】常用组件及基本使用详解

🖐本节学习目标: ✅学会使用常用的组件 文章目录 1.常用的容器类组件的使用1.view组件的基本使用2.scroll-view组件的基本使用3.swiper和swiper-item组件的基本使用 2.常用的
2023-08-17

vue3 使用defineAsyncComponent与component标签实现动态渲染组件思路详解

这篇文章主要介绍了vue3 使用defineAsyncComponent与component标签实现动态渲染组件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-02

win8系统在新界面安装与使用硬件设备驱动详细图解

Windows 8在功能上的最大亮点就是新界面及新界面应用,硬件设备驱动在新界面中也能够顺利的安装和使用。具体方法如下:第一步:鼠标移动到右上或者右下角,在侧边栏单击“设置”。第二步:在“设置&rdquo
2022-06-04

layui表格组件详解:如何高效实现数据展示与交互?(layui table组件使用指南:数据展示与交互技巧)

LayuiTable组件指南详细介绍其数据展示和交互功能。通过表格基本结构、数据绑定、列定义和数据格式化,开发者可高效实现复杂数据展示。交互方面,指南涵盖行/列操作、行选中、行编辑、事件触发、远程分页、导出/导入和表格工具栏。优化技巧包括数据虚拟化、数据缓存、事件委托、数据结构优化和页面布局优化。
layui表格组件详解:如何高效实现数据展示与交互?(layui table组件使用指南:数据展示与交互技巧)
2024-04-02

javascript内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件使用什么函数,详细讲解

当内容即将从浏览器剪贴板粘贴到页面时,可以使用navigator.clipboard.readText()函数触发事件。此函数允许读取剪贴板的文本内容。它需要浏览器的支持和用户的权限,可以通过async方法请求。若权限被授予,则函数返回一个Promise,包含读取的文本内容。支持因浏览器而异,因此需要检查兼容性。用户可以拒绝访问权限,处理此可能性很重要。
javascript内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件使用什么函数,详细讲解
2024-04-02

javascript当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发此事件使用什么函数,详细讲解

beforecopy事件在用户复制当前选中文本前触发,允许开发者修改或阻止复制操作。开发者可以使用beforecopy事件处理函数customCopy来修改选定文本并取消默认复制行为。此事件可用于数据转换、数据保护和其他自定义复制功能,在大多数现代浏览器中得到支持,但浏览器之间可能存在细微差异。
javascript当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发此事件使用什么函数,详细讲解
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录