Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Рисование линии


Автор: JTOne 21.4.2007, 17:05
Подскажите че сделать что бы нарисованная линия оставалась при рефреше или репейне окна или панаели
вот так рисую:
Код

  Graphics graf = this.jPanel1.getGraphics();
                   Color c=null;                
                   graf.setColor(c.BLACK);
                   graf.drawLine(x,y,x1,y1);

                   

Автор: Samotnik 21.4.2007, 17:19
Ну примерно ВОД так
Код

import java.awt.*;
import java.applet.*;
/*
<applet code = "Lines" width = 300 height =200>
</applet>
*/
public class Lines
{
public void paint(Graphics g)
{
g.drawLine(0,0,100,100);
g.drawLine(0,100,100,0);
g.drawLine(40,23,67,89);
......
}
}
 
smile 

Автор: dorogoyIV 22.4.2007, 12:36
вот именно. раз у тебя есть метод "paint", в нем и рисуй smile

Автор: JTOne 25.4.2007, 20:24
ну вот 
Код

public class test
{
public void paint(Graphics g)
{
g.drawLine(0,0,100,100);
g.drawLine(0,100,100,0);
g.drawLine(40,23,67,89);
}
}

и нажатие кнопки
Код


    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
// TODO add your handling code here:
        test x=new test();
   this.jPanel1.add(x);
        
    } 
    


и ошибка!  smile 

Автор: Boing747 25.4.2007, 22:11
Цитата

ну вот 
public class test
{
public void paint(Graphics g)
{
g.drawLine(0,0,100,100);
g.drawLine(0,100,100,0);
g.drawLine(40,23,67,89);
}
}
и нажатие кнопки
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
// TODO add your handling code here:
        test x=new test();
   this.jPanel1.add(x);
        
    }     

и ошибка!   


Как то у тебя лихо происходит.  
Код

    test x=new test();
   this.jPanel1.add(x);

На панель пытаешься добавить просто класс. Посмотри какой параметр add(). Я бы тоже на такое ругался.

Автор: JTOne 26.4.2007, 11:06
Не ну так понятно, что он будет ругаются, вобще мой вариант такой, но он тоже не рабочий

это класс
Код

public class myLinkDraw extends Component {
    
public int x1,y1,x2,y2;

public myLinkDraw(int X1,int Y1,int X2,int Y2)
    {
        x1=X1;
        y1=Y1;
        x2=X1;
        y1=Y1;   
    
    }
   
    public void paint(Graphics g){
    g.setColor(Color.BLACK);
    g.drawLine(x1,y1,x2,y2);   
    }

} 


а вот кнопка
Код


    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
// TODO add your handling code here:
  
   this.jPanel1.add(new myLinkDraw(100,100,200,200));
        
    }  


и потом я его таким же эдом добавляю на панель, тут как бы я не как просто клас, а как класс компонента добавляю, но всеравно ноль на масу, а если в конструктор еще и графику передавать, да он рисует безусловно, но при либом обновлении окна - линия испаряется!

Что делать? - я просто в потерях!!!

Автор: powerOn 26.4.2007, 19:15
Модератор:  JTOne, пользуйся кнопкой КОД для оформления исходников.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)