2016-02-01 9 views
0

У меня есть код здесь, и он графически экспоненциально, но он неправильно рисует. отрицательный экспоненциальный рост. Вот мой код, я пытаюсь перевернуть его. Я буду работать над этим, но если у вас есть ответ, скажите мне.Как перевернуть drawRect так, чтобы он рисовал?

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
public class Graphics extends JPanel{ 
    public static void main(String[] args) {  
     JFrame f =new JFrame ("Function"); 
     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     Graphics g = new Graphics(); 
     f.add(g); 
     f.setSize(700, 700); 
     f.setVisible(true); 
} 
public void paintComponent (java.awt.Graphics g) { 
    super.paintComponent(g); 
    int i = this.getWidth()-this.getWidth() + 5; 

    int xoffset = this.getWidth()/2; 
    int yoffset = this.getHeight()/2; 

    for (int x = 0 ; x < 20 ; x++){ 
     g.setColor(Color.BLACK); 
     this.setBackground(Color.WHITE); 
     int p = x*x; 
     g.fillRect(i+xoffset,10+yoffset,5,p); 
     i = i + 10; 
     } 
    } 
    } 

Кто-нибудь знает, как это исправить?

+1

Измените свойства 'x' /' y' – MadProgrammer

ответ

1

Изменить положение x/y в котором прямоугольник начинает рисовать с (он всегда рисует вправо/вниз)

Так вместо

g.fillRect(i+xoffset,10+yoffset,5,p); 

вы могли бы ...

g.fillRect(i + xoffset, 10 + yoffset - p, 5, p); 

Onwards and upwards

Я не знаю, каковы ваши намерения для int i = this.getWidth()-this.getWidth() + 5;, но явно не имеет смысла (width - width == 0?)

 Смежные вопросы

  • Нет связанных вопросов^_^