Как начертить линию в Java по координатам (double, но не int)

Узнай цену своей работы

Формулировка задачи:

Всем привет! Вопрос в следующем - Как начертить линии если, их размеры(координаты) не Int, а double. Пробовал умножить все на 100 чтобы тем самым перевести в int так как метод driweLine принимает координаты по Int но кхм..... линии длиной 13330 не очень правильно!Да и памяти много есть начинает! Просто например линию длиной 133,30(это у меня имеется в виду 133,30 м ,в физическом понимании) я не могу перевести в Int 133 так как я не могу откинуть 30 см. Есть ли способ?

Решение задачи: «Как начертить линию в Java по координатам (double, но не int)»

textual
Листинг программы
stateOfSize = new boolean[3];
stateOfSize[0] = false;
stateOfSize[1] = true;
stateOfSize[2] = false;
public void mouseWheelMoved(MouseWheelEvent me) 
    {  
            
            if (z_width == 0)
            z_width = this.getWidth();  //Вернуть текущую высоту
            if (z_height == 0)
            z_height =  this.getHeight();   //Вернуть текущую ширину
        
            if(me.getWheelRotation() < 0)       //Скролл вверх
                {
                    if (stateOfSize[1])
                    {
            this.resizeImage(4*z_width, 4*z_height);    //Увеличить     
            stateOfSize[1] = false;         //Инвертирование
            stateOfSize[2] = true;
                    }
                    else 
                        if (stateOfSize[0]) 
                            {
                                this.resizeImage(z_width, z_height);
                this.resizeImage(z_width, z_height); 
                stateOfSize[0] = false;
                stateOfSize[1] = true;
                            }
                }   
            
        if(me.getWheelRotation() > 0)       //Скролл вниз
                    {
                        if (stateOfSize[2])         //false
                        {
                            this.resizeImage(z_width, z_height);    //обычные размеры
                            this.resizeImage(z_width, z_height);    //обычные размеры
                            stateOfSize[2] = false;
                            stateOfSize[1] = true;
                        } 
                        else 
                            if (stateOfSize[1])     //Иначе если true
                            {
                                this.resizeImage((int)(z_width / 2), (int)(z_height / 2));          //Уменьшаем          
                                stateOfSize[1] = false;
                                stateOfSize[0] = true;
                            }
                    }   
    }
public void resizeImage(int width, int height)      //Принимае высоту и ширину
    {
            this.loadPreviousState();
            this.setSize(width, height);
            this.setPreferredSize(new Dimension (width, height));
            Image resizing = img.getScaledInstance(width, height, BufferedImage.SCALE_DEFAULT);
            img = new  BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            java.awt.Graphics g = img.getGraphics();
            g.drawImage(resizing, 0, 0,this);
            this.repaint(); //перерисовка       
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5