「java画图线条」java如何画图

博主:adminadmin 2022-11-25 00:56:09 57

今天给各位分享java画图线条的知识,其中也会对java如何画图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java怎么同时画出两条线?并记录线的轨迹?求教了

“同时画出”是关键词,呵呵,如果要同时画,复杂点,用同步语句块,不过不推荐~

简单点,在你线程里,把你画第一条线的句子,再复制一个进去就行了~-

-,可能这个方法有点土`~~~能详细描述下你想实现的功能吗?

记录轨迹。。。。你画出的线就是一条轨迹吧!,还用记录吗?如果非要实现这个记录诡计,你就画一个跟踪你线的坐标的诡计点,这个你可以用图片drawImage来画,也可以用drawString("."......)来画,当然你你这个诡计要和你的线或者其他东西一起,简单的方法J2ME里有GameCanvas来做你这个东西,因为这样你可以把你的线的“头部”当成一个精灵Sprite来做,用getX()

getY()来得到你“头部”的坐标,而且getX()

getY()是不断变化的,所以你可以吧getX()

getY()放到你用来记录轨迹的函数坐标里,这样就简单的跟踪你的线的轨迹了!

-----

不过,我想你是想实现那种动态显示出你的线不断在画的效果吧,就是两条线由短到长,那样的效果,你要给你的线drawLine()里的起点和终点坐标设置成变量,并在线程里让变量++,这样才是动态的,不然你画的线,可能直接就一下子画完了drawLine(int

x1,

int

y1,

int

x2,

int

y2)

里,x1,y1,x2,y2,可以都是变化,也可以你固定起点,然后终点x2++,y2++,这里就很灵活了,可以调下看看!

---

如果还有不明白,请你告诉我你具体想实现什么样效果,本人是做J2ME游戏开发的,可能这个回答与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);

    }

}

运行结果:

java 绘图板 如何实现画直线的功能

这个简单

可以调用方法drawline(int x1, int y1, int x2, int y2)

其中(x1, y1), (x2, y2)分别为直线起点和终点的坐标

特意给你写了个小例子,希望能帮到你

***************************************

import javax.swing.*;

import java.awt.*;

public class DrawLine extends JPanel {

public static void main(String[] args) {

JFrame frame = new JFrame("DrawLine");

frame.getContentPane().add(new DrawLine());

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(300, 200);

frame.setVisible(true);

}

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.drawLine(50, 50, 200, 250);

}

}

****************************

将程序复制到记事本中并改名为DrawLine.java(注意大小写)

然后在命令行中用 CD+文件夹 使命令范围到DrawLine.java的文件夹中

然后执行命令javac DrawLine.java

再执行命令java DrawLine

你会看到结果

java怎么画出一条直线呢?高手进吧。

我晕,组件要重绘,就使用paintComponent方法吧,没有什么灵活不灵活的

import java.awt.Color;

import java.awt.EventQueue;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.GridLayout;

import javax.swing.BorderFactory;

import javax.swing.JComponent;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

public class FrameDemo extends JFrame {

private JPanel contentPane;

TestComponent tc1, tc2;

/**

* Launch the application.

*/

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

FrameDemo frame = new FrameDemo();

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

public FrameDemo() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 450, 300);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(new GridLayout(2, 1, 10, 10));

tc1 = new TestComponent();

tc1.setBorder(BorderFactory.createLineBorder(Color.BLUE));

tc2 = new TestComponent();

tc2.setBorder(BorderFactory.createLineBorder(Color.PINK));

contentPane.add(tc1);

contentPane.add(tc2);

}

}

class TestComponent extends JComponent {

public void paintComponent(Graphics g1) {

Graphics2D g = (Graphics2D) g1;

g.setColor(Color.RED);

g.drawLine(0, 0, this.getWidth(), this.getHeight());

}

}

画图时如何设置线条的粗细

画图时设置线条的粗细步骤如下:

1、画布上有一线条,直线为例,对其细化处理,先使用魔棒【W】。

2、然后点击线条选中后---点击 选择。

3、然后点击修改--缩放或扩展--这里选择缩放。

4、然后在弹出的属性栏里修改缩放的像素--填充或右键反选删除多余像素。

一个关于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如何画图、java画图线条的信息别忘了在本站进行查找喔。

The End

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