「java线段平滑」多段线平滑

博主:adminadmin 2022-11-30 23:01:06 68

本篇文章给大家谈谈java线段平滑,以及多段线平滑对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 如何在jpanel上画垂直线、水平线、平行线?

定义一个类继承JPanel类,重写 JPanel 的 paint 方法,使用 Graphics 绘制线段,如下代码:

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Graphics;

import javax.swing.JFrame;

import javax.swing.JPanel;

class MyPanel extends JPanel {

@Override

public void paint(Graphics g) {

super.paint(g);

g.setColor(Color.RED);

for (int i = 0; i  10; i++) {

g.drawLine(10, 10 + i * 20, this.getWidth() - 10, 10 + i * 20);

}

for (int i = 0; i  10; i++) {

g.drawLine(10 + i * 20, 10, 10 + i * 20, this.getHeight() - 10);

}

}

}

public class App extends JFrame {

public App() {

this.setSize(400, 400);

this.setLocationRelativeTo(null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

MyPanel panel = new MyPanel();

this.add(panel, BorderLayout.CENTER);

}

public static void main(String[] args) {

       new App().setVisible(true);

    }

}

运行结果:

如何平滑部署JavaWeb项目,让客户端不掉线

1. Java Web应用需要改造成无状态的。

2. 用户Session数据一定不要保存在Java应用中,重启或者crash都会导致会话失效。

3. 常见的用户Session存储使用Memcached集群,Redis有点大材小用了。

4. 反向代理是用户请求的第一站,推荐nginx。

5. 应用部署的第一步就是关流量,保证没有请求到需要重新部署的服务实例上。

一个关于JAVA绘制线段的问题.

import java.awt.*;

import java.io.*;

import java.util.ArrayList;

import javax.swing.*;

public class Draw {

@SuppressWarnings("unchecked") //去掉泛型的警告信息

public static void main(String[] args )throws Exception {

File file=new File("data.txt");

FileReader fr=new FileReader(file);

BufferedReader br=new BufferedReader(fr);

String str="";

JFrame f=new JFrame("画线段");

MyCanvas p=new MyCanvas();

//不知道你的屏多大,所以直接取屏幕分辨率的大小了

p.setPreferredSize(Toolkit.getDefaultToolkit().getScreenSize());

f.add(p,BorderLayout.CENTER);

f.pack();

f.setVisible(true);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ArrayListint[] array=new ArrayList();

//把每行数字转为数组加入ArrayList

while((str=br.readLine())!=null){

//文件中的数字是用空格分的吧

String[] temp=str.split(" ");

int[] i=new int[temp.length];

int n=0;

for(String s:temp){

i[n++]=Integer.parseInt(s);

}

array.add(i);

}

p.setMyCanvas(array);//把array传给画图对象

p.repaint();//开始画图

}

}

class MyCanvas extends JPanel{

ArrayListint[] array;

public void setMyCanvas(ArrayListint[] array){

this.array=array;

}

public void paint(Graphics g){

for(int[] i:array){

g.setColor(new Color(i[4],i[5],i[6]));

g.drawLine(i[0],i[1],i[2],i[3]);

}

}

}

我也初学,写的比较笨,而且不够健壮,没有考虑文本文件中格式不对的问题。另外,因为不知道怎么处理paint方法每次画线会覆盖之前图像的问题,就把所以数据放入了集合里,最后一起画出来的。参考一下吧,测试通过了。把你的data.txt和这个程序放一个文件夹里就行。

ps:楼上的“我是王志伟”比我强多了,写的代码水平比我的好很多,只是有个语句应该用while他写成if了,另外他的格式在粘贴的时候自动换行了,用的时候需要调整一下。我也得学习一下,呵呵。

java线段平滑的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于多段线平滑、java线段平滑的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。