我想在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);
}
}
但我还需要添加按钮和文本字段,并让用户能够拖动轴。
我应该使用什么结构以及如何在其中绘制点?
答案 0 :(得分:0)
如果对WorkField类使用Canvas类,则可以使用JavaFX轻松地重写上述代码。然后你只需要选择众多画布示例中的一个来正确设置。