我正在尝试创建一个程序,该程序以y = mx + b形式获取用户输入的字符串,并使用输入的等式绘制一条线。我唯一没有考虑的问题是这个问题:我如何获取计算出的x和y值并将它们放在g.drawLine参数中?
public void paint(Graphics g){
g.drawLine(x,y,x2,y2);
g.setColor(Color.black);
}
答案 0 :(得分:1)
您可以定义一个具有m,b等实例变量的Line类,并使其paint或display方法使用这些变量绘制一条线。然后,从该类中创建一个Line对象,并在其中调用其paint方法(将图形对象作为参数传递)。这将具有额外的优势,如果你想要绘制多个线,你可以只创建多个Line对象并调用它们的每个绘制方法。
主要的东西:
public void paint(Graphics g) {
myLine.paint(g);
...
...并在Line类中:
public void paint(Graphics g) {
g.drawLine(myx1, myy1, myx2, myy2);
....
编辑:如果你想要一个非常快速的解决方案并且不需要使程序可扩展,你也可以将该行的属性存储为主类的static variables。那看起来像是:
class Main {
static int lineInformation;
void userInputMethod() {
lineInformation = ... // the user input
...
}
public void paint(Graphics g) {
g.drawLine(lineInformation,...);
...
}
}
但是,我肯定会为你稍后使用或修改的程序推荐一个Line类。
答案 1 :(得分:0)
如何做的粗略列表
-y + height
答案 2 :(得分:0)
这将确保线条填充组件的区域:
double m= ...
double b= ...
double x=g.getClipBounds().x;
double x2=g.getClipBounds().x+g.getClipBounds().width;
g.drawLine(x,m*x+b,x2,m*x2+b);