「java线段」java线段绕点旋转

博主:adminadmin 2022-11-30 16:48:06 76

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

本文目录一览:

java怎么求点到线段的距离

import java.util.Scanner;

public class Distance {

public static void main(String[] args) {

Line L = new Line(2,3,5);

Scanner sc = new Scanner(System.in);

System.out.println("输入点的x坐标:");

double x = sc.nextDouble();

System.out.println("输入点的y坐标:");

double y = sc.nextDouble();

System.out.println(distence(x,y,L));

}

public static double distence(double x,double y,Line L){

return Math.abs(L.A*x+L.B*y+L.C)/Math.sqrt(L.A*L.A+L.B*L.B);

}

}

class Line{//直线类,方程为:Ax+By+C=0

double A;

double B;

double C;

public Line(double A,double B,double C){

this.A = A;

this.B = B;

this.C = C;

}

}

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);

    }

}

运行结果:

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

给你代码,开始没注意,画出来的是个正方形。

------------------------------------------------------------------------------------------------------

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Graphics;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.util.Scanner;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class LineAppFrame extends JFrame {

public LineAppFrame() {

setDefaultCloseOperation(EXIT_ON_CLOSE);

setSize(550, 550);

setLocationRelativeTo(null);

JPanel panel = new LinePanel();

getContentPane().add(panel, BorderLayout.CENTER);

setVisible(true);

}

public static void main(String[] args) {

new LineAppFrame();

}

}

class LinePanel extends JPanel {

protected void paintComponent(Graphics g) {

super.paintComponent(g);

FileReader fr = null;

BufferedReader br = null;

try {

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

fr = new FileReader(file);

br = new BufferedReader(fr);

Color defaultColor = g.getColor();

while (br.ready()) {

String line = br.readLine();

int[] data = conver(line);

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

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

}

g.setColor(defaultColor);

} catch (Exception e) {

} finally {

try {

br.close();

fr.close();

} catch (Exception e) {

}

}

}

private int[] conver(String line) {

int[] result = new int[7];

int index = 0;

Scanner sc = new Scanner(line);

while (sc.hasNextInt()) {

result[index++] = sc.nextInt();

}

return result;

}

}

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

The End

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