第十九章 java绘图

2023-12-28 09:12
文章标签 java 绘图 第十九章

本文主要是介绍第十九章 java绘图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 第十九章  java绘图

62e3ebfee94a4e2b95cd5c25a6378aa8.png

 19.1  java绘图类

绘图时高级程序设计中非常重要的技术,例如,应用程序可以绘制闪屏图片,背景图片,组件外观等等,Web程序可以绘制统计图,数据库存储图片资源等,真骨耸为“一图胜千言”,使用图片能够更好的表达程序运行结果,并且能够进行细致的数据分析与保存等等   本小节分为Graphics与Graphics2D小部分

19.1.1Graphics类

Graphics类是所有图形上下文的抽象基类,它允许应用提供程序在组件以及闭屏图像上进行绘制Graphics类封装了java支持的基本绘图操作所需要的状态信息,主要包括了颜色,字体,画笔,文本,图像等

Graphics类提供了绘图常用的方法,利用了这些方法可以实现,直线,矩形,多边形,椭圆,圆弧等,形状和文本,图片的绘制操作。另外,在执行这些操作之前,还可以使用相应的方法,设置绘图的颜色和字体等状态属性

19.1.2Graphics2D类 

使用Graphics2D类可以完成简单的图形绘制任务,但是她所实现的功能非常有限,如无法改变线条的粗细,不能对图片使用旋转和模糊等过滤效果

Graphics2D类继承了Graphics类,实现了功能更加强大的绘图操作的集合。由于Graphics2D类 是Graphics类的拓展,也是推荐使用Java绘图类,

19.2绘制图形

java可以分别使用Graphics类和Graphics2D类绘制图形,Graphics类使用不同的方法实现绘制不同的图形,例如 drawLine()方法可以绘制执行,drawRect()方法绘制矩形,drawOval()方法用于绘制椭圆等

如下例题所示:

 
  1. import java.awt.Graphics;

  2.  
  3. import javax.swing.JFrame;

  4. import javax.swing.JPanel;

  5.  
  6. public class DrawCircle1 extends JFrame{

  7. private final int OVAL_WIDTH=80;

  8. private final int OVAL_HEIGHT=80;

  9.  
  10. public DrawCircle1() {

  11. initialize();

  12. }

  13. private void initialize(){

  14. setSize(300,200);//设置窗体大小

  15. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗体则停止程序

  16. setContentPane(new DrawPanel());//设置窗体面板为画布面板对象

  17. setTitle("绘图实列");

  18. }

  19. class DrawPanel extends JPanel{

  20. public void paint(Graphics g) {

  21. //五个圆圈的坐标位置

  22. g.drawRect(10, 10, OVAL_WIDTH, OVAL_HEIGHT);//圆的坐标是左上角 并不是圆心坐标

  23. g.drawOval(80, 10, OVAL_WIDTH, OVAL_HEIGHT);

  24. g.drawOval(150, 10, OVAL_WIDTH, OVAL_HEIGHT);

  25. g.drawOval(50, 70, OVAL_WIDTH, OVAL_HEIGHT);

  26. g.drawOval(120, 70, OVAL_WIDTH, OVAL_HEIGHT);

  27. }

  28. }

  29. public static void main(String[] args) {

  30. new DrawCircle1().setVisible(true);

  31. }

  32. }

代码图以及运行结果图:

521dc7ce1ee64d5ab0907a4ad163f792.png

 使用Graphics2D类来绘制空心和实心集合图形

例题如下:

 
  1. import java.awt.BasicStroke;

  2. import java.awt.Color;

  3. import java.awt.Graphics;

  4. import java.awt.Graphics2D;

  5. import java.awt.Shape;

  6. import java.awt.geom.Ellipse2D;

  7. import java.awt.geom.Rectangle2D;

  8.  
  9. import javax.swing.JFrame;

  10. import javax.swing.JPanel;

  11.  
  12. public class DrawFarme1 extends JFrame{

  13. public DrawFarme1() {

  14. setTitle("绘制实例2");//设置窗体标本

  15. setSize(300,200);//设置窗体大小

  16. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗体关闭模式

  17. add(new CanvasPanel());//设置窗体面板为绘图面板对象

  18. }

  19. class CanvasPanel extends JPanel{//绘图面板

  20. public void paint (Graphics g ) {

  21. Graphics2D g2 =(Graphics2D)g;

  22. Shape[] shapes = new Shape[4];//声明图片数组

  23. shapes[0]= new Ellipse2D.Double(5,5,100,100);//创建圆型对象

  24. shapes[1]=new Rectangle2D.Double(110,5,100,100);//创建矩形对象

  25. shapes[2]=new Rectangle2D.Double(15,15,80,80);//创建矩形对象

  26. shapes[3]=new Ellipse2D.Double(120,15,80,80);//创建圆形对象

  27. for(Shape shape:shapes) {//遍历图形

  28. Rectangle2D bounds =shape.getBounds2D();//

  29. if(bounds.getWidth()==80) {

  30. Color c= new Color(255,0,0);//绘制颜色

  31. g2.setColor(c);

  32. BasicStroke b =new BasicStroke(6,1,1);//绘制画笔粗细

  33. g2.setStroke(b);

  34. g2.fill(shape);//填充图像

  35. }else {

  36. Color c1 = new Color(0,0,255);

  37. g2.setColor(c1);

  38. BasicStroke b =new BasicStroke(6,1,1);//绘制画笔粗细

  39. g2.setStroke(b);

  40. g2.draw(shape);//绘制图形

  41.  
  42. //圆形的端点是1 拐角是1

  43. //另一个是0是常规 1是圆 2是直

  44. }

  45. }

  46. }

  47. }

  48. public static void main(String[] args) {

  49. new DrawFarme1().setVisible(true);

  50. }

  51.  
  52. }

 代码图以及运行结果图如下:
afb0614cda9347fcb846c8b7eba6a37b.png

19.3绘制颜色和画笔属性 

java语言使用Color类封装颜色的各种属性,并对颜色进行管理。另外,在绘制图形是,还可以只盯线的粗细,和叙事等画笔属性,

19.3.1设置颜色

使用Color类可以创建任意颜色的对象,不用担心平台是否支持改颜色,因为java以跨平台和硬件无关的方式支持颜色管理创建Color对象的构造方法有如下两种方法:

 
  1. Color col = new Color (int r , int g ,int b);

  2. Color col = new Color (int rgb);

 
  1. rgb:颜色值,该值是,红,绿,蓝,三原色的总和,

  2. r :该参数是三原色中的红色的取值;

  3. g :该参数是三原色中的绿色的取值;

  4. b :该参数是三原色中的蓝色的取值;

设置当前绘图颜色为红色的代码如下:

 
  1. public void paint(Graphics g){

  2. Graphics2D g2 =(Graphics2D )g;

  3. g.setColor(Color.RED)

  4. ...

  5. }

19.3.2  设置画笔

默认抢矿下Graphics类使用的画笔属性的粗细为1像素的正方形,而Graphics2D类可以体哦啊用setStroke()方法设置画笔的属性,如改变线条的粗细,叙事,定义线段端点的形状,风格等,如法如下:

setStroke(Stroke stroke)

其中参数stroke是Stroke接口的实现类对象、

setStroke()方法必须接受一个Stroke接口的实现类对象作参数,java.awt包中的提供了BasicStroke类它实现了Stroke接口并不通过的构造方法画笔属性不同的对象构造方法如下:

 
  1. BasicStroke();

  2. BasicStroke(float width );

  3. BasicStroke(float width int cap,int join );

  4. BasicStroke(float width , int cap , int join ,float minterlimit);

  5. BasicStroke(float width , int cap , int join ,float minterlimit,float[] dash,float dash_phase);

cap参数可以使用CAP_BUTT,CAP_ROUND和CAO_SQUAR

19.4绘制文本

java会之类也可以用来绘制文本内容,且可以在会之前设置字体的样式和大小等,

19.4.1设置字体

java使用Font类封装了字体的大小,样式等属性,该类在java.awt包中定义,其构造方法可以指定字体名称和大小和样式三个属性如法如下:

Font font = new  Font("宋体",Font.BOLD,16);//这是文字为宋体    字体为加粗  定义字体大小

其中Font.BOLD 是调用字体格式   有三种 0是普通  1是加粗 (就是现在这个)2是倾斜如下所示

2067566d94944507ba5a7842322319a4.png

 19.4.2显示文字

Graphics2D类提供了drawString()方法,使用该方法可以实现推行上下文的文本绘制,从而实现在图片上显示文字的功能如法如下:

 
  1. drawString(String str , int x,int y);

  2. drawString(String str,float x , float y);

 其中str是要绘制的文本字符串, x是绘制字符串的水平起始位置,  y是绘制字符串的垂直起始位置  

这两个方法唯一不同的就是x和y的参数类型不同

如下例题讲解了使用方法:

 
  1. import java.awt.Color;

  2. import java.awt.Font;

  3. import java.awt.Graphics;

  4. import java.awt.Graphics2D;

  5. import java.awt.geom.Rectangle2D;

  6. import java.util.Date;

  7.  
  8. import javax.swing.JFrame;

  9. import javax.swing.JPanel;

  10.  
  11. public class DrawString extends JFrame{

  12. public DrawString(){

  13. setSize(230,140);//绘制窗体大小

  14. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设施窗体关闭模式

  15. add(new CanvasPanel());//设置窗体面板为绘图面板对象

  16. setTitle("绘制文本");//设置窗体标签

  17. }

  18. class CanvasPanel extends JPanel{

  19. public void paint(Graphics g) {

  20. Graphics2D g2 = (Graphics2D)g;

  21. Rectangle2D rect = new Rectangle2D.Double(10,10,200,80);

  22. Font font = new Font("宋体",Font.BOLD,16);//这是文字为宋体 字体为加粗 定义字体大小

  23. Date date = new Date ();

  24. g2.setColor(Color.cyan);//设置当前绘图颜色

  25. g2.fill(rect);//填充矩形

  26. g2.setColor(Color.blue);//设置当前绘图颜色

  27. g2.setFont(font);//设置字体

  28. g2.drawString("现在的时间是", 20,30);//绘制文本

  29. g2.drawString(String.format("%tr", date),50,60);//绘制时间文本

  30. }

  31. }

  32. public static void main(String[] args) {

  33. new DrawString().setVisible(true);

  34. }

  35.  
  36. }

代码图以及运行结果图:

cf738a1d6b3044cdafce19c5b26a24fd.png

 19.5  显示图片

绘制类不仅可以是绘制图形和文本还可以使用drawImage()方法将图片资源显示在绘图上下文中,而且可以实现各种特效处理,如:图片的缩放,反转等。语法如下:

drawImage(drawImage img ,int x,int y,ImageObserver voserver)

img  是要显示的对象   x是水平位置,  y是垂直位置,observer是要通知的图像观察者

如下代码所示;

 
  1. import java.awt.Graphics;

  2. import java.awt.Graphics2D;

  3. import java.awt.Image;

  4. import java.io.File;

  5. import java.io.IOException;

  6.  
  7. import javax.imageio.ImageIO;

  8. import javax.swing.JFrame;

  9. import javax.swing.JPanel;

  10.  
  11. public class Drawlmage extends JFrame{

  12. Image img;//展示图片

  13. public Drawlmage () {

  14. try {

  15. img=ImageIO.read(new File ("C:\\Users\\dog luo\\Desktop\\小黄人.jpg"));//读取图片位置

  16. }catch (IOException e ) {

  17. e.printStackTrace();

  18. }

  19. setSize(1000,3000);//设置窗体大小

  20. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗体

  21. add(new CanvasPanel());//设置窗体面板为绘图面板对象

  22. setTitle("绘制图片");// 设置窗体标题

  23. }

  24. class CanvasPanel extends JPanel{

  25. public void paint(Graphics g) {

  26. Graphics2D g2 = (Graphics2D )g;

  27. g2.drawImage(img, 0, 0, this);//显示图片

  28. }

  29. }

  30. public static void main(String[] args) {

  31. new Drawlmage().setVisible(true);

  32. }

  33.  
  34. }

代码图以及运行结果图:

999357295ab14fd0a7c4f717eda89378.png

 19.6 图像处理:

开高级桌面应用程序,必须掌握一些图像处理与动画制作的技术,如在程序中显示统计图和销售趋势图,动态按钮等等

19.6.1放大与缩小

放大与缩小是使用了drawImage()方法将图片以原始的大小显示在窗体中,想要实现图片的放大下与缩小,则需要使用他的重载方法,语法如下:

drawImage(Image img,int x, int y,  int width , int height , ImageObserver observer)

该方法将img图片显示在x,y指定的位置上,并指定图片的宽度和高度的属性,

以下代码会讲解使用方法:

 
  1. import java.awt.BorderLayout;

  2. import java.awt.Graphics;

  3. import java.awt.Image;

  4. import java.io.File;

  5. import java.io.IOException;

  6.  
  7. import javax.imageio.ImageIO;

  8. import javax.swing.JFrame;

  9. import javax.swing.JPanel;

  10. import javax.swing.JSlider;

  11. import javax.swing.event.ChangeEvent;

  12. import javax.swing.event.ChangeListener;

  13.  
  14. public class lmageZoom extends JFrame{

  15. Image img;

  16. private int imgWidth ,imgHeight;

  17. private JSlider jSlider;

  18. public lmageZoom() {

  19. try {

  20. img = ImageIO.read(new File("C:\\Users\\dog luo\\Desktop\\搁浅.jpg"));

  21. }catch(IOException e) {

  22. e.printStackTrace();

  23. }

  24. CanvasPanel canvas = new CanvasPanel();

  25. jSlider = new JSlider();

  26. jSlider.setMaximum(1000);

  27. jSlider.setValue(100);

  28. jSlider.setMinimum(1);

  29. jSlider.addChangeListener(new ChangeListener() {

  30. public void stateChanged(ChangeEvent e) {

  31. canvas.repaint();

  32. }

  33. });

  34. JSlider center= new JSlider();

  35. center.setLayout(new BorderLayout());

  36. center.add(jSlider,BorderLayout.SOUTH);

  37. center.add(canvas,BorderLayout.CENTER);

  38. setContentPane(center);

  39. setBounds(100,100,800,860);

  40. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  41. setTitle("绘制图片");

  42. }

  43. class CanvasPanel extends JPanel{

  44. public void paint(Graphics g ) {

  45. int newW = 0 ,newH = 0;

  46. imgWidth = img.getWidth(this);

  47. imgHeight =img.getHeight(this);

  48. float value =jSlider.getValue();

  49. newW = (int)(imgWidth*value/100);

  50. newH = (int)(imgHeight*value/100);

  51. g.drawImage(img,0,0,newW,newH,this );

  52. }

  53. }

  54. public static void main(String[] args) {

  55. new lmageZoom().setVisible(true);

  56.  
  57. }

  58.  
  59. }

代码图以及运行结果图:

f9204cf5f08d4f02b61deeececfdabf7.png

 19.6.2图像翻转

图像的翻转需要使用drawImage()方法的另一个重载方法 语法如下:

drawImage(Image img , int dx1,int dy1,int dx2,int dy2, int sx1, int sy1, int sx2, int sy2,ImageObserver observer)

此方法总是用非缩放的图像来呈现缩放的矩形,并动态的执行所需的缩放,次操作不适用缓存缩放图像,执行图像从源到目标的缩放,将源矩形的第一个坐标映射到目标矩形的第一个坐标,源矩形的第二个坐标映射到目标矩形的第二个坐标,按需求缩放和反转子图像,以保持这些映射关系。

主要的使用方法以下例题会详细讲解:

 
  1. import java.awt.BorderLayout;

  2. import java.awt.Container;

  3. import java.awt.Graphics;

  4. import java.awt.Image;

  5. import java.awt.event.ActionEvent;

  6. import java.awt.event.ActionListener;

  7. import java.io.File;

  8. import java.io.IOException;

  9.  
  10. import javax.imageio.ImageIO;

  11. import javax.swing.JButton;

  12. import javax.swing.JFrame;

  13. import javax.swing.JPanel;

  14.  
  15. public class Partlmage extends JFrame{

  16. private Image img;

  17. private int dx1,dy1,dx2,dy2;

  18. private int sx1,sy1,sx2,sy2;

  19. private int width = 300,height=200;//图片宽高

  20. private JButton vBtn = null;//"垂直翻转"

  21. private JButton hBtn = null;//"水平反转"

  22.  
  23. private CanvasPanel canvasPanel = null;

  24. public Partlmage()

  25. {try {

  26. img=ImageIO.read(new File("C:\\Users\\dog luo\\Desktop\\搁浅.jpg"));//获取图片文件

  27. }catch (IOException e) {

  28. e.printStackTrace();

  29. }//初始化图像大小

  30. dx2= sx2=width;

  31. dy2= sy2=height;

  32.  
  33. vBtn = new JButton("垂直翻转");

  34. hBtn = new JButton("水平翻转");

  35.  
  36. JPanel bottom = new JPanel();

  37. bottom.add(hBtn);

  38. bottom.add(vBtn);

  39.  
  40. Container c = getContentPane();

  41. c.add(bottom,BorderLayout.SOUTH);

  42. canvasPanel = new CanvasPanel();

  43. c.add(canvasPanel,BorderLayout.CENTER);

  44.  
  45. addListener();

  46. setBounds(100,100,300,260);//设置窗体大小和位置

  47. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗体关闭模式

  48. setTitle("图片翻转");//设置窗体标题

  49.  
  50. }

  51. private void addListener() {

  52. vBtn.addActionListener(new ActionListener() {

  53. public void actionPerformed(ActionEvent e ) {

  54. sy1 = Math.abs(sy1 - height);//纵坐标互换

  55. sy2 = Math.abs(sy2 - height);

  56. canvasPanel.repaint();

  57. }

  58. });

  59. hBtn.addActionListener(new ActionListener() {

  60. public void actionPerformed( ActionEvent e ) {

  61. sx1 = Math.abs(sx1 - width);//横坐标呼唤

  62. sx2 = Math.abs(sx2 - width);

  63. canvasPanel.repaint();

  64. }

  65. });

  66. }

  67. class CanvasPanel extends JPanel{

  68. public void paint(Graphics g) {

  69. g.drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, this);//绘制指定大小的图片

  70. }

  71. }

  72. public static void main(String[] args) {

  73. // TODO Auto-generated method stub

  74. new Partlmage().setVisible(true);

  75. }

  76.  
  77. }

 代码图以及运行结果图如下所示:

19.6.3图像旋转

图像旋转需要调用Graphics2D类的rotate()方法,该方法根据指定的弧度来旋转图下   主要的语法如下:

rotate(double theta);//theta是直旋转的弧度

 以下例题会讲解主要的使用方法:

 
  1. import java.awt.Graphics;

  2. import java.awt.Graphics2D;

  3. import java.awt.Image;

  4. import java.io.File;

  5. import java.io.IOException;

  6.  
  7. import javax.imageio.ImageIO;

  8. import javax.swing.JFrame;

  9. import javax.swing.JPanel;

  10.  
  11. public class RotateImage extends JFrame{

  12. private Image img ;

  13. public RotateImage() {

  14. try {

  15. img = ImageIO.read(new File("C:\\Users\\dog luo\\Desktop\\搁浅.jpg"));//读取图片文件

  16. }catch(IOException e ) {

  17. e.printStackTrace();

  18. }

  19. setBounds(100,100,400,500);

  20. add(new CanvasPanel());

  21. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设施窗体关闭模式

  22. setTitle("图片旋转");//设置窗体标题;

  23. }

  24. class CanvasPanel extends JPanel{

  25. public void paint(Graphics g) {

  26. Graphics2D g2 = (Graphics2D)g;

  27. g2.rotate(Math.toRadians(5));//旋转5

  28. g2.drawImage(img,70,10,300,200,this);

  29. g2.rotate(Math.toRadians(5));

  30. g2.drawImage(img,70,10,300,200,this);

  31. g2.rotate(Math.toRadians(5));

  32. g2.drawImage(img,70,10,300,200,this);

  33. }

  34. }

  35. public static void main(String[]args) {

  36. new RotateImage().setVisible(true);

  37. }

  38. }

代码图以及运行结果图如下所示:

e37f8e4b319641a98f74f58fa467a65e.png

19.6.4图像倾斜 

可以使用Graphics2D类提供的sjear()放啊设置绘图的倾斜的方向,从而使图像侵袭呃的效果语法如下:

 
  1. shear(double shx,double shy);

  2. //shx 水平方向的倾斜度

  3. //shy 垂直方向的倾斜度

详细的如下例题所示:

 
  1. import java.awt.Graphics;

  2. import java.awt.Graphics2D;

  3. import java.awt.Image;

  4. import java.io.File;

  5. import java.io.IOException;

  6. import javax.imageio.ImageIO;

  7. import javax.swing.JFrame;

  8. import javax.swing.JPanel;

  9.  
  10. public class Tiltmage extends JFrame{

  11. private Image img;

  12. public Tiltmage() {

  13. try {

  14. img = ImageIO.read(new File("C:\\Users\\dog luo\\Desktop\\搁浅.jpg"));//读取文件位置

  15. }catch(IOException e ) {

  16. e.printStackTrace();

  17. }

  18. setBounds(100,100,400,300);

  19. add(new CanvasPanel());

  20. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设施窗体关闭模式

  21. setTitle("图片旋转");//设置窗体标题;

  22. }

  23. class CanvasPanel extends JPanel{

  24. public void paint(Graphics g) {

  25. Graphics2D g2 = (Graphics2D)g;

  26. g2.shear(0.3, 0);//倾斜30%

  27. g2.drawImage(img, 0, 0, 300, 200,this);

  28. }

  29. }

  30. public static void main(String[]args) {

  31. new Tiltmage().setVisible(true);

  32.  
  33. }

  34. }

代码图以及运行结果图如下:

0a71af1d8fa748eda3ac345719946c48.png

 

这篇关于第十九章 java绘图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/545499

相关文章

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过