gpt4 book ai didi

java - 标记 x 和 y 轴 java gui

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:11:06 25 4
gpt4 key购买 nike

第一次发帖,多多包涵。

我正在尝试使用 Java GUI 创建一个图形计算器,(是的,我知道已经有一些应用程序可以这样做。)我正在使用 Graphics2D 类,只是想知道如何标记 x 轴和 y 轴。

这是我到目前为止所写的内容,它将绘制一条基本的抛物线以及 x 轴和 y 轴。另外,如果有人能告诉我如何更改它以使轴线更细,那就太棒了!

提前致谢!-埃文

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class GraphWindow extends JPanel {

/**
* @param args
*/
public void paintComponent(Graphics g){
super.paintComponent(g);
double max=16;
double min=0;
double x[]= {-4,-3,-2,-1,0,1,2,3,4};
double y[]={16,9,4,1,0,1,4,9,16};

Graphics2D g2=(Graphics2D)g;
setBackground(Color.WHITE);
g2.translate(getWidth()/2,getHeight()/2);
g2.scale(5.0, 5.0);
g2.draw( new Line2D.Double(-4*100,0,4*100,0));
g2.draw( new Line2D.Double(0,min*100,0,-max*100));
for(int i=0;i<x.length;i++){
if(i+1<x.length){
g2.setColor(Color.RED);
g2.draw(new Line2D.Double(x[i], -y[i], x[i+1], -y[i+1]));
}
else{
break;
}
}

最佳答案

您可以使用 Graphics.drawString() 绘制两个轴:

g.setColor(Color.black);
g.setFont(new Font("SansSerif", Font.BOLD, 8));

g.drawString("X Axis", 30, 10);

// rotate for Y axis
g2.rotate(-Math.PI/2);
g.drawString("Y Axis", 20, -8);

旋转 Graphics2D 以绘制 Y 轴。确保将其作为 paintComponent 中的last 语句集,以避免必须重新旋转 Graphics2D

您可以使用以下方法获得更细的线条:

g2.scale(2.0, 2.0);

参见:Graphics2D.scale()

关于java - 标记 x 和 y 轴 java gui,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13546086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com