【问题标题】:Drawing field shape in JavaFX在 JavaFX 中绘制字段形状
【发布时间】:2017-03-05 02:46:26
【问题描述】:

我想在 JavaFX 中绘制字段形状。

我需要通过this照片之类的点来绘制非标准的形状图。

照片代码: WorkingField.java

import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;

import static java.lang.Math.*;


public class WorkingField extends Component {
    double L1 = 200;
    double L2 = 100;
    double L3 = 0;
    double Q11 = 0;
    double Q21 = 0;
    double Q31 = 0;
    double Q12 = 90;
    double Q22 = 90;
    double Q32 = 90;

    public void paint(Graphics g)
    {
        g.drawLine(0,384,1366,384); // x-axis
        g.drawLine(683,0,683,1366); // y-axis

        g.setColor(Color.red);
        for(double q1=Q11;q1<=Q12;q1=q1+0.5)
        {
            for(double q2=Q21;q2<=Q22;q2=q2+0.5)
            {
                for(double q3=Q31;q3<=Q32;q3=q3+0.5)
                {
                    int X = (int) (L1*cos(q1*(3.1415926/180))+L2*cos((q1*(3.1415926/180)) + (q2*(3.1415926/180))) + L3*cos((q1*(3.1415926/180)) + (q2*(3.1415926/180)) + (q3*(3.1415926/180))));
                    int Y = (int) (L1*sin(q1*(3.1415926/180))+L2*sin((q1*(3.1415926/180)) + (q2*(3.1415926/180))) + L3*sin((q1*(3.1415926/180)) + (q2*(3.1415926/180)) + (q3*(3.1415926/180))));
                    g.drawLine(683+X,384-Y,683+X,384-Y);
                }
            }

        }
    }
}

Main.java

import javax.swing.JFrame;

public class Main {

    public static void main(String[] args) {
        WorkingField P = new WorkingField();
        JFrame F = new JFrame();
        WorkingField B = new WorkingField();
        B.setSize(100, 70);
        F.setSize(1366,768);
        F.add(P);
        F.add(B);
        F.setVisible(true);

    }

}

但我还需要添加按钮和文本字段,让用户能够拖动轴。

我应该使用什么结构以及如何在其中绘制点?

【问题讨论】:

  • 你试过了吗?这不是代码请求服务。向我们展示你做了什么
  • 我不想要代码。我想知道 structure 的类型(如窗格和标签..)附加照片的代码不是 JavaFX 的,我在另一个问题中找到了它。我需要知道如何绘制 points 以在 某些结构 上形成形状(例如)并将其放入 Frame 中?对不起我的英语不好! @Shashwat

标签: java javafx


【解决方案1】:

如果您将 Canvas 类用于 WorkingField 类,则可以使用 JavaFX 轻松重写上述代码。然后,您只需选择众多画布示例之一即可正确设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    相关资源
    最近更新 更多