Java可视化界面

一。使用JFrame(创建窗口)JDialog(创建新窗口)

    //1.创建一个窗口对象JFrame frame = new JFrame("一个文件");//2.创建一个容器Container container = frame.getContentPane();//3.为容器添加颜色container.setBackground(Color.gray);//4.为窗口设置大小窗口frame.setBounds(100,100,500,600);//5.设置它的可视化窗口frame.setVisible(true);//6。设置它的关闭方式frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//7.在窗口内部重新上设置一个新的内部窗口JDialog jd = new JDialog(frame,"一个新的文件");//8.为新窗口设置窗口大小jd.setBounds(150,150,100,100);//9.设置新窗口的背景颜色jd.setBackground(Color.blue);//10。是否可视化jd.setVisible(true);//11.设置关闭方式jd.setDefaultCloseOperation(jd.DISPOSE_ON_CLOSE);

二。使用JPanel(一个中间层容器)和JButton(创建一个按钮)

//1.创建一个按钮配置
JButton button1 = new JButton("按钮1");
JButton button2 = new JButton("按钮2");
//2.创建一个中间容器
JPanel panel = new JPanel(new FlowLayout());
panel.add(button1);
panel.add(button2);
frame.add(panel);

JPanel和JScrollPane都是为容器添加组件,区别在于JPanel是添加多个组件,而JScrollPane是添加一个组件

三。使用JLable(标签)可以添加文字和图片

//1.创建一个容器JPanel可以添加多个容器,以及设置颜色
JPanel jPanel = new JPanel();
jPanel.setBackground(Color.gray);
//2.添加一个图片组件,采用图片的绝对路径
ImageIcon icon = new ImageIcon("E:\\python程序空文件\\untitled\\src\\img.png");
//3.创建一个标签,将图片和文字放入标签中
JLabel  label = new JLabel(icon);
//4.创建一个文字内容
JLabel label1 = new JLabel("这是一个文件");
//5.设置文字的内容,采用居中方式
label1.setHorizontalAlignment(JLabel.CENTER);
//6.设置文字的字体样式,字体,字样,大小
label1.setFont(new Font("宋体",Font.BOLD,30));
//7.标签进行添加图片和字样
jPanel.add(label);
jPanel.add(label1);
//8.添加于外部界面
frame.add(jPanel);

四。按钮标签

1.按钮的创建

JButton jButton = new JButton("点击我",icon);//可以添加照片和文字
JButton jButton = new JButton("按钮1");//只添加文
jButton.setEnabled(true);//当为true为可按钮可点击,当为false为按钮不可点击
jButton.setBorderPainted(true);//当为true则显示按钮边框,false则不显示边框

2.单选按钮组件:

JRadioButton jRadioButton1 = new JRadioButton("男");//创建一个单选按钮
JRadioButton jRadioButton2 = new JRadioButton("女");
ButtonGroup buttonGroup = new ButtonGroup();//创建一个按钮组
buttonGroup.add(jRadioButton1);按钮组添加一个按钮
buttonGroup.add(jRadioButton2);
frame.add(jRadioButton1);进行页面的显示
frame.add(jRadioButton2);

按钮添加于按钮组中的原因:用户只能选择按钮中的其中一个,一般是性别

3.多选按钮的使用:

JCheckBox box = new JCheckBox("内容");
panel.add(new JCheckBox("面条",true));//panel是存放组件的容器
panel.add(new JCheckBox("米饭",false));//true表示开始选中,false表示不选中
panel.add(new JCheckBox("馒头",false));

五。下拉列表的使用:

JComboBox box = new JComboBox();//创建下滑列表的窗口
box.addItem("--请选择学历--");//内容的添加
box.addItem("初中");
box.addItem("高中");
box.addItem("大专");
box.addItem("本科");
panel.add(box);容器添加此下拉窗口

六:菜单栏组件:

1.创建菜单条:JMenuBar

2.创建菜单:JMenu

3.创建菜单项:JMenuITem

菜单项依附于菜单,菜单依附于菜单条

单菜单的创建:

JMenuBar bar = new JMenuBar();//创建菜单条
JMenu menu = new JMenu("菜单1");//创建菜单
JMenuItem jMenuItem1 = new JMenuItem("菜单项1");创建菜单项,即最后的内容
JMenuItem jMenuItem2 = new JMenuItem("菜单项2");
JMenuItem jMenuItem3 = new JMenuItem("菜单项3");
menu.add(jMenuItem1);//菜单项目依赖菜单
menu.add(jMenuItem2);
menu.add(jMenuItem3);
bar.add(menu);//菜单依赖于菜单条
panel.add(bar);

多级菜单的创建:(即创建多个菜单)

JMenuBar bar = new JMenuBar();
JMenu menu = new JMenu("菜单1");
JMenu menu2 = new JMenu("菜单2");
JMenu menu3 = new JMenu("菜单3");
JMenuItem jMenuItem1 = new JMenuItem("菜单项1");
JMenuItem jMenuItem2 = new JMenuItem("菜单项2");
JMenuItem jMenuItem3 = new JMenuItem("菜单项3");
menu.add(jMenuItem1);
menu2.add(jMenuItem2);
menu3.add(jMenuItem3);
bar.add(menu);
bar.add(menu2);
bar.add(menu3);
panel.add(bar);

七。组件位置的设定GridLAyout

1.FlowLayout流式对其方式:

(1)FlowLayout.lert:左对齐

(2)FlowLayout.right:右对齐

(3)FlowLayout.leading:与容器的对齐端方式一样

(4)FlowLayout.trailing:于容器的结束端对齐方式一样

(5)FlowLayout.center:中间对齐

frame.setLayout(new FlowLayout(FlowLayout.CENTER,40,40));

注释:frame里面传递的是流对齐方式,其中对齐方式为中间对齐,每个组件水平和垂直距离都是40

2.边界布局管理器BorderLayout:

(1)EAST:布局于东边

(2)WEST:布局于西边

(3)SOUTH:布局于南边

(4)CENTER:布局于中间

(5)NORTH:布局于中间

panel.setLayout(new BorderLayout());
JButton button1 = new JButton("北");
JButton button2 = new JButton("南");
JButton button3 = new JButton("东");
JButton button4 = new JButton("西");
JButton button5 = new JButton("中");
panel.add(button1,BorderLayout.NORTH);
panel.add(button2,BorderLayout.SOUTH);
panel.add(button3,BorderLayout.WEST);
panel.add(button4,BorderLayout.EAST);
panel.add(button5,BorderLayout.CENTER);

3.网络布局管理器GridLayout:

JPanel panel = new JPanel();//内网页
GridLayout gridLayout = new GridLayout(3, 3);//设置行为3,列为3的格子
panel.setLayout(gridLayout);//设置布局方式为网络布局管理器
for (int i = 1; i <= 9; i++) {JButton button = new JButton("Button " + i);//添加按钮panel.add(button);
}
frame.add(panel);

注释:要设置盒子的行和列

4.盒子布局管理器BoxLayout:

JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
for (int i = 1; i <= 9; i++) {JButton button = new JButton("Button " + i);panel.add(button);
}frame.add(panel);

注释:BoxLayout的第一个参数是正对的对象,Y_AXIS:向下垂直方向,X_AXIS:水平方向

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/849009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pip 永久换源

一. pip换源 1 永久换源 1.1 配置pip.ini文件 先在此电脑的地址栏中输入%APPDATA% 按回车进行跳转到Roaming文件夹中,如果在此文件夹下没有pip文件夹则新建一个pip文件夹&#xff0c;并且新建文件pip.ini,并在里面输入以下内容&#xff08;此处示例为阿里源&#xff09;&#x…

fixdep conf 工具介绍

文章目录 1. fixdep 工具2. conf 工具 1. fixdep 工具 fixdep <depfile> <target> <cmdline> 作用&#xff1a;查找实现目标所用的命令、源码、头文件等全部信息。 参数1&#xff1a;<depfile>编译产生的依赖文件*.d 参数2&#xff1a;<target&…

Vue3的ref创建一个全局变量,非常好用!

1. 前言 Vue3的ref对象我们都知道其用法,通过ref可以创建一个响应式对象使用,同时可以用compute,watch等Vue3的API对其进行操作 不同于Vue2的是,Vue3使用的是组合式API,这也就意味着,我可以在外部单独创建一个ref对象,然后保存,通过导出的方式,给其他的页面使用 理论存在,开始…

SpringBoot高手之路04-Aop

文章目录 AOP 基础AOP概述start依赖,开发某一个功能,只需要下载这一个依赖,关于他的依赖都会下载下来 AOP快速入门AOP核心概念 切入点表达式-execution AOP 基础 AOP概述 AOP 对特定的方法做增强 AOP 快速入门 start依赖,开发某一个功能,只需要下载这一个依赖,关于他的依赖…

快速上手 ngrok:将你的本地服务一键暴露到互联网,开发者必备技能!

想让外界轻松访问你本地电脑上的项目&#xff1f;试试 ngrok 吧&#xff01;无论是调试 Web 应用&#xff0c;还是进行跨网络测试&#xff0c;ngrok 都能帮你一键创建安全隧道&#xff0c;将本地服务映射到公共 URL&#xff0c;让全球任何地方都能访问。本文详细介绍 ngrok 的安…

【Spring框架全系列】SpringBoot_基础_先知(详细)

文章目录 1.SpringBoot介绍2.创建一个SpringBoot项目3.parent标签 - 父工程4.starter依赖5.启动类和文件打包6.默认配置 1.SpringBoot介绍 Spring阶段最困扰大家的事情是什么&#xff1f; 配置 → 配置魔鬼 快速搭建一个独立的生产级别的Spring应用 快速引入项目相关依赖 开箱…

搜维尔科技:使用 Xsens 动作捕捉技术创建栩栩如生的动画

使用Xsens 动作捕捉技术创建栩栩如生的动画 搜维尔科技&#xff1a;使用 Xsens 动作捕捉技术创建栩栩如生的动画

【WPF编程宝典】第9讲:几何图形

本讲介绍了直线&#xff0c;矩形&#xff0c;椭圆&#xff0c;几何分组&#xff0c;合并&#xff0c;布尔运算等几何图形操作。介绍了更强大的微语言几何图形的应用。 1.路径和几何图形 Path类继承自Shape类&#xff0c;是功能最强大的形状类。path类可以包含任何简单形状、多…

【漏洞复现】I Doc View 在线文档预览 qJvqhFt.json 任意文件读取漏洞(XVE-2024-2115)

0x01 产品简介 iDocView是一个在线文档解析应用&#xff0c;旨在提供便捷的文件查看和编辑服务。 0x02 漏洞概述 iDocView是一个在线文档预览系统 /iew/gJvghftjson 接口处存在任意文件读取漏洞&#xff0c;未授权的攻击者可以利用此接口并携带默认token读取服务器敏感文件信…

表格中附件的上传、显示以及文件下载#Vue3#后端接口数据

表格中附件的上传及显示#Vue3#后端接口数据 一、图片上传并显示在表格中实现效果&#xff1a; 表格中上传附件 代码&#xff1a; <!-- 文件的上传及显示 --> <template><!-- 演示地址 --><div class"dem-add"><!-- Search start -->…

【推荐】用scss循环zoom缩放比例,解决可视化大屏在不同分辨率屏幕下的适配问题

方法1&#xff1a; 指定几种常规屏幕宽度&#xff08;用这种方式就必须要强制用户全屏查看页面&#xff0c;在固定的宽度下才能达到比较不错的显示效果&#xff09; // 适配不同分辨率的页面---------------------------------------- html {overflow: hidden;width: 1920px;…

SQL语句练习每日5题(二)

题目1——查找学校是北大的学生信息 筛选出所有北京大学的学生进行用户调研&#xff0c;请你从用户信息表中取出满足条件的数据&#xff0c;结果返回设备id和学校。 解法&#xff1a;考察where条件语句 select device_id,university from user_profile where university北京…

【随手记】maplotlib.use函数设置图像的呈现方式

matplotlib.use() 函数用于设置 matplotlib 的后端&#xff0c;这会影响图形的呈现方式。不同的后端适用于不同的环境和需求。下面列出一些常用的后端及其描述&#xff1a; 常见后端参数 Agg: 参数&#xff1a;agg描述&#xff1a;基于Anti-Grain Geometry的后端&#xff0c;适…

python数据文件处理库-pandas

内容目录 一、pandas介绍二、数据加载和写出三、数据清洗四、数据转换五、数据查询和筛选六、数据统计七、数据可视化 pandas 是一个 Python提供的快速、灵活的数据结构处理包&#xff0c;让“关系型”或“标记型”数据的交互既简单又直观。 官网地址: https://pandas.pydata.o…

今日arXiv最热大模型论文:大模型都能怎么用?中南大学最新综述:大模型时代的自然语言处理

还记得2022年末ChatGPT的横空出世&#xff0c;带来了整个NLP乃至AI领域的震动&#xff0c;随后如LLaMA、ChatGLM、Qwen等类ChatGPT大模型&#xff08;LLM&#xff09;开始如雨后春笋般涌现&#xff0c;这些先进的模型不仅展示了在零样本学习中的出色表现&#xff0c;还在多种NL…

立方根(cbrt)

立方根 题目描述 小文文想计算所有不大于 x x x的正整数的立方根下取整之和&#xff0c;但是她不会做&#xff0c;你能帮帮她吗? 为了彻底帮小文文弄懂这个问题,你需要回答 q q q组询问,对于每个 x i x_i xi​,输出 ∑ j 1 x i ⌊ j 1 3 ⌋ \sum_{j 1}^{x_i}\lfloor j^…

Python 设计模式(行为型)

文章目录 策略模式场景示例 迭代器模式场景示例 访问者模式场景示例 观察者模式场景示例 命令模式场景示例 模板方法模式场景示例 模板方法模式场景示例 事件驱动模式场景示例 责任链模式场景示例 中介者模式场景示例 状态模式场景示例 策略模式 策略模式&#xff08;Strategy…

树形表/树形数据接口的开发

数据表格式 需要返回的json格式 点击查看json数据 [{"childrenTreeNodes" : [{"childrenTreeNodes" : null,"id" : "1-1-1","isLeaf" : null,"isShow" : null,"label" : "HTML/CSS","na…

stm32 定时器输出比较(OC)与PWM的理解和应用

不积跬步&#xff0c;无以至千里&#xff1b;不积小流&#xff0c;无以成江海。大家好&#xff0c;我是闲鹤&#xff0c;公众号 xxh_zone&#xff0c;十多年开发、架构经验&#xff0c;先后在华为、迅雷服役过&#xff0c;也在高校从事教学3年&#xff1b;目前已创业了7年多&am…

保姆级讲解 FTP服务器的配置与管理

本来目录很长的 因为感觉不太美观 所以小标题都删掉了 本文介绍了 本地用户的FTP服务器搭建实例匿名用户的FTP服务器搭建实例虚拟用户的FTP服务器搭建实例企业常见类型搭建实验 配置与管理FTP服务器 配置与管理FTP服务器一、FTP相关知识二、项目设计与准备三、项目实施四、认识…