motofan logo
       
> 

выкидывает ошибка, "child Process Stdout Copier"

Aliev
сообщение 28.3.2010, 15:13


Мастер
****

Группа: Пользователи
Сообщений: 175
Регистрация: 9.1.2006
Из: Минск, Беларусь
Пользователь №: 65 119
Модель телефона: E390 гнусмасег

Рейтинг: 5.5



не могу разобраться...выкидывает вот это, причем каждый раз в разном месте
Exception in thread "Child process stdout copier" java.lang.ClassCastException: sun.java2d.NullSurfaceData cannot be cast to sun.java2d.d3d.D3DSurfaceData
at sun.java2d.d3d.D3DRenderer.copyArea(D3DRenderer.java:55)
at sun.java2d.d3d.D3DSurfaceData.copyArea(D3DSurfaceData.java:665)
at sun.java2d.SunGraphics2D.doCopyArea(SunGraphics2D.java:1986)
at sun.java2d.SunGraphics2D.copyArea(SunGraphics2D.java:1968)
at javax.swing.BufferStrategyPaintManager.copyArea(BufferStrategyPaintManager.java:316)
at javax.swing.RepaintManager.copyArea(RepaintManager.java:1239)
at javax.swing.JViewport.blitDoubleBuffered(JViewport.java:1604)
at javax.swing.JViewport.windowBlitPaint(JViewport.java:1573)
at javax.swing.JViewport.setViewPosition(JViewport.java:1118)
at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.vsbStateChanged(BasicScrollPaneUI.java:1027)
at javax.swing.plaf.basic.BasicScrollPaneUI$Handler.stateChanged(BasicScrollPaneUI.java:1016)
at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:348)
at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:285)
at javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:151)
at javax.swing.JScrollBar.setValue(JScrollBar.java:446)
at com.sun.kvem.toolbar.MainWindow$ConsoleStream.write(Unknown Source)
at java.io.PrintStream.write(PrintStream.java:430)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at com.sun.kvem.environment.StreamCopier.run(Unknown Source)
at java.lang.Thread.run(Thread.java:619)

теперь распишу подробнее... есть цикл, двойной, который поочередно берет из несколько массивов данные и прорисовывает их в виде таблицы, таблица размеором 18х10, то есть 180 ячеек, причем ошибок в заполнении массива нету, это точно... в чем может быть проблема? выкидывает то на 35 ячейке, то на 23, то на 150 или любой другой, запускал раз 20, каждый раз новое значение

for(int k = 0; k < TABLE_SIZE_Y; k++)
{
for(int i = 0; i < TABLE_SIZE_X; i++)
{
if(условие)
{
System.out.println("'"+PAR_1[k][i]+"'");
остальной код
}
}
PAR_1[k][i] - это String



Сообщение отредактировал Aliev - 28.3.2010, 16:18
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 29.3.2010, 3:58


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



недостаточно!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Aliev
сообщение 29.3.2010, 6:06


Мастер
****

Группа: Пользователи
Сообщений: 175
Регистрация: 9.1.2006
Из: Минск, Беларусь
Пользователь №: 65 119
Модель телефона: E390 гнусмасег

Рейтинг: 5.5



да я понимаю что недостаточно) просто, проблема в том, что исходный код очень дурацкий, тк я использовал его для отладки прорисовки программы предназначенной для андроида. в андроиде прост не работет System.out.println. поэтому там не код и бредятина полная

ну и так как прорисовка в яве отличается прорисовки в андроиде, я ограничился простым текстовым выводом данных

Код

public void startApp()
    {
        A a = new A(); //в нем все и  происходит
        System.out.println("SUCCES...");
    }


собственно класс А:
Код

public A()
    {
        init1();
    }
    
    public void init1()
    {
        
        p("START...");
        
        TABLE_RECT_SIZE = 60;//размер ячейки таблицы
        TABLE = TABLE_PERIODIC_TABLE;//тип таблицы
        pv_create_periodic_table();//создаются массивы для таблицы, не выкладываю эту часть кода, т к она оч большая
                      
        
        p("TABLE CREATED...");
        
        pv_draw_bitmap_object();
        
        
        
        p("END");
        
    }
    public void p(String s)
    {
        System.out.println(s);
    }
    public void pv_draw_bitmap_object()
        {
            //TABLE_SIZE_Y
            for(int k = 0; k < TABLE_SIZE_Y; k++)
            {
                for(int i = 0; i < TABLE_SIZE_X; i++)
                {
                    if(PAR_ACTIVE[k][i] >= 1 & PAR_ACTIVE[k][i] <= 4)
                    {
                        p("'"+PAR_1[k][i]+"'");
                        int sx = 0+i*TABLE_RECT_SIZE;
                        int sy = 0+k*TABLE_RECT_SIZE;
                        
                        mPaint.setStyle(Style.FILL);
                        pv_set_color(PAR_3[k][i]);
                        canvas.draw_Rect(sx,sy,TABLE_RECT_SIZE+sx,TABLE_RECT_SIZE+sy);
                        
                        
                        
                        
                        mPaint.setStyle(Style.STROKE);
                        mPaint.setColor(Color.BLACK);
                        canvas.draw_Rect(sx,sy,TABLE_RECT_SIZE+sx,TABLE_RECT_SIZE+sy);
                        
                        
                        if(TABLE_RECT_SIZE == 100)
                        {
                            if(PAR_ACTIVE[k][i] == 1)
                            {
                                mPaint.setTextSize(40);
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+45,sy+60);
                                
                                mPaint.setTextSize(10);
                                canvas.drawText(PAR_OTHER[22-13][k][i],sx+2,sy+60);
                                
                                
                                    int a1 = PAR_5[k][i].indexOf("g",0);
                                    if(a1 > 0) canvas.drawText(PAR_5[k][i].substring(0,a1),sx+2,sy+50);
                                    
                                canvas.drawText(PAR_12[k][i],sx+2,sy+40);
                                
                                mPaint.setTextSize(15);
                                canvas.drawText(PAR_1[k][i]+"",sx+2,sy+80);
                                
                                mPaint.setTextSize(15);
                                canvas.drawText(PAR_4[k][i]+"",sx+20,sy+98);
                                
                                mPaint.setColor(Color.GREEN);
                                mPaint.setTextSize(15);
                                canvas.drawText(PAR_2[k][i]+"",sx+2,sy+15);
                            }
                            if(PAR_ACTIVE[k][i] == 2)
                            {
                                mPaint.setTextSize(15);
                                mPaint.setColor(Color.GREEN);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+1,sy+60);
                            }
                            if(PAR_ACTIVE[k][i] == 3)//это ячейка с P, Н, М, -
                            {
                                mPaint.setTextSize(15);
                                mPaint.setColor(Color.BLACK);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+45,sy+60);
                            }
                            if(PAR_ACTIVE[k][i] == 4)//это ячейка с SO3[2-], Al[3+] и тд
                            {
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                pv_draw_ion(PAR_0[k][i],sx+5,sy+60,30);
                            }
                            
                            
                        }
                        if(TABLE_RECT_SIZE == 80)
                        {
                            if(PAR_ACTIVE[k][i] == 1)
                            {
                                mPaint.setTextSize(30);
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+37,sy+50);
                                
                                
                                mPaint.setTextSize(10);
                                canvas.drawText(PAR_1[k][i]+"",sx+2,sy+65);
                                
                                mPaint.setTextSize(10);
                                canvas.drawText(PAR_4[k][i]+"",sx+20,sy+78);
                                
                                mPaint.setColor(Color.GREEN);
                                mPaint.setTextSize(15);
                                canvas.drawText(PAR_2[k][i]+"",sx+2,sy+15);
                            }
                            if(PAR_ACTIVE[k][i] == 2)
                            {
                                mPaint.setTextSize(12);
                                mPaint.setColor(Color.GREEN);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+1,sy+50);
                            }
                            if(PAR_ACTIVE[k][i] == 3)//это ячейка с P, Н, М, -
                            {
                                mPaint.setTextSize(30);
                                mPaint.setColor(Color.BLACK);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+37,sy+50);
                            }
                            if(PAR_ACTIVE[k][i] == 4)//это ячейка с SO3[2-], Al[3+] и тд
                            {
                                //mPaint.setTextSize(30);
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                pv_draw_ion(PAR_0[k][i],sx+5,sy+50,25);
                                //canvas.drawText(PAR_0[k][i],sx+37,sy+50);
                            }
                        }
                        if(TABLE_RECT_SIZE == 60)
                        {
                            if(PAR_ACTIVE[k][i] == 1)
                            {
                                mPaint.setTextSize(25);
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+25,sy+35);
                                mPaint.setTextSize(10);
                                canvas.drawText(PAR_4[k][i]+"",sx+2,sy+59);
                                mPaint.setTextSize(10);
                                canvas.drawText(PAR_1[k][i]+"",sx+2,sy+45);
                                mPaint.setColor(Color.GREEN);
                                mPaint.setTextSize(15);
                                canvas.drawText(PAR_2[k][i]+"",sx+2,sy+15);
                            }
                            if(PAR_ACTIVE[k][i] == 2)
                            {
                                mPaint.setTextSize(10);
                                mPaint.setColor(Color.GREEN);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+1,sy+35);
                            }
                            if(PAR_ACTIVE[k][i] == 3)//это ячейка с P, Н, М, -
                            {
                                mPaint.setTextSize(25);
                                mPaint.setColor(Color.BLACK);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+25,sy+35);
                            }
                            if(PAR_ACTIVE[k][i] == 4)//это ячейка с SO3[2-], Al[3+] и тд
                            {
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                pv_draw_ion(PAR_0[k][i],sx+5,sy+35,20);
                            }
                        }
                        if(TABLE_RECT_SIZE == 40)
                        {
                            if(PAR_ACTIVE[k][i] == 1)
                            {
                                mPaint.setTextSize(20);
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+10,sy+28);
                                mPaint.setColor(Color.GREEN);
                                mPaint.setTextSize(10);
                                canvas.drawText(PAR_2[k][i]+"",sx+2,sy+11);
                            }
                            if(PAR_ACTIVE[k][i] == 2)
                            {
                                mPaint.setTextSize(8);
                                mPaint.setColor(Color.GREEN);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+1,sy+28);
                            }
                            if(PAR_ACTIVE[k][i] == 3)//это ячейка с P, Н, М, -
                            {
                                mPaint.setTextSize(20);
                                mPaint.setColor(Color.BLACK);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+10,sy+28);
                            }
                            if(PAR_ACTIVE[k][i] == 4)//это ячейка с SO3[2-], Al[3+] и тд
                            {
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                pv_draw_ion(PAR_0[k][i],sx+5,sy+28,15);
                            }
                        }
                        if(TABLE_RECT_SIZE == 20)
                        {
                            if(PAR_ACTIVE[k][i] == 1)
                            {
                                mPaint.setTextSize(15);
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+7,sy+19);
                                mPaint.setColor(Color.GREEN);
                                mPaint.setTextSize(8);
                                canvas.drawText(PAR_2[k][i]+"",sx+2,sy+9);
                            }
                            if(PAR_ACTIVE[k][i] == 2)
                            {
                                mPaint.setTextSize(6);
                                mPaint.setColor(Color.GREEN);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+1,sy+19);
                            }
                            if(PAR_ACTIVE[k][i] == 3)//это ячейка с P, Н, М, -
                            {
                                mPaint.setTextSize(15);
                                mPaint.setColor(Color.BLACK);
                                mPaint.setStyle(Style.FILL);
                                canvas.drawText(PAR_0[k][i],sx+3,sy+18);
                            }
                            if(PAR_ACTIVE[k][i] == 4)//это ячейка с SO3[2-], Al[3+] и тд
                            {
                                mPaint.setColor(Color.WHITE);
                                mPaint.setStyle(Style.FILL);
                                pv_draw_ion(PAR_0[k][i],sx+2,sy+18,10);
                            }
                        }
                    }
                }
            }
            
        }
        
        public void pv_draw_ion(String s, int x, int y, int a)
        {
            p("DRAW ION: "+s+" : "+x+", "+y);
        }
        
        public void pv_set_color(int a)
        {
            /*цвета
             * 0 - 6A 9A 80
             * 1 - 6A 9A 80
             * 2 - 65 82 A2
             * 3 - 96 64 63
             * 4 - 9C 81 64
             * 5 - 5B 90 5A
             * 6 - 62 9F 98
             * 7 - 83 9D 5E
             * 8 - 9D 9E 64
             * 9 - 56 53 8A
             *10 - 68 4E 8E
             *
             */
            switch(a)
            {
                case 0:
                    mPaint.setARGB(0xff,0x6A, 0x9A, 0x80);
                    break;
                case 1:
                    mPaint.setARGB(0xff,0x6A, 0x9A, 0x80);
                    break;
                case 2:
                    mPaint.setARGB(0xff,0x65, 0x82, 0xA2);
                    break;
                case 3:
                    mPaint.setARGB(0xff,0x96, 0x64, 0x63);
                    break;
                case 4:
                    mPaint.setARGB(0xff,0x9C, 0x81, 0x64);
                    break;
                case 5:
                    mPaint.setARGB(0xff,0x5B, 0x90, 0x5A);
                    break;
                case 6:
                    mPaint.setARGB(0xff,0x62, 0x9F, 0x98);
                    break;
                case 7:
                    mPaint.setARGB(0xff,0x83, 0x9D, 0x5E);
                    break;
                case 8:
                    mPaint.setARGB(0xff,0x9D, 0x9E, 0x64);
                    break;
                case 9:
                    mPaint.setARGB(0xff,0x56, 0x53, 0x8A);
                    break;
                case 10:
                    mPaint.setARGB(0xff,0x68, 0x4E, 0x8E);
                    break;
                case 20:
                    //mPaint.setColor(Color.BLUE);
                    mPaint.setARGB(0xff,0x00, 0x66, 0xFF);
                    break;
                case 21:
                    //mPaint.setColor(Color.YELLOW);
                    mPaint.setARGB(0xff,0x00, 0xFF, 0x66);
                    break;
                case 22:
                    //mPaint.setColor(Color.RED);
                    mPaint.setARGB(0xff,0xF2, 0xAA, 0xDA);
                    break;
                case 23:
                    //mPaint.setColor(Color.WHITE);
                    mPaint.setARGB(0xff,0xFF, 0xE3, 0xBB);
                    break;
            }
        }


canvas:
Код


public class canvas{
    
    
    public static void p(String s)
    {
        System.out.println(s);
    }
    
    public static void draw_Rect(int a1, int a2, int a3, int a4)
    {
        p("DRAW RECT: "+a1+","+a2+" : "+a3+","+a4);
    }
    public static void drawText(String s, int x, int y)
    {
        p("DRAW TEXT: "+s+" : "+x+", "+y);
    }
}


Код

public class mPaint{
    
    public static void p(String s)
    {
        System.out.println(s);
    }
    
    public static void setTextSize(int a)
    {
        p("TEXT SIZE: "+a);
    }
    
    public static void setStyle(String s)
    {
        p("STYLE: "+s);
    }
    public static void setColor(String s)
    {
        p("COLOR: "+s);
    }
    public static void setARGB(int b1, int b2, int b3, int b4)
    {
        //int a1 = b1; int a2 = b2; int a3 = b3; int a4 = b4;
        p("COLOR: "+b1+" - "+b2+", "+b3+", "+b4);
    }
}


Код

public class Color{
    
    public static String WHITE = "white";
    public static String BLACK = "black";
    public static String GREEN = "green";
    
}


Код

public class Style{
    
    public static String FILL = "fill";
    public static String STROKE = "stroke";
    
}


Сообщение отредактировал Aliev - 30.3.2010, 13:08
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 30.3.2010, 4:47


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Aliev, ну не знаю - у меня и на эмуляторе и на телефоне все отработало)
http://slil.ru/28877869
Код
START...
TABLE CREATED...
'Hydrogen'
STYLE: fill
COLOR: 255 - 106, 154, 128
DRAW RECT: 0,0 : 60,60
...
DRAW TEXT: Lawrencium : 1022, 585
COLOR: green
TEXT SIZE: 15
DRAW TEXT: 103 : 1022, 555
END
SUCCES...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Aliev
сообщение 30.3.2010, 13:07


Мастер
****

Группа: Пользователи
Сообщений: 175
Регистрация: 9.1.2006
Из: Минск, Беларусь
Пользователь №: 65 119
Модель телефона: E390 гнусмасег

Рейтинг: 5.5



странно, че у меня выкидывает ошибки постоянно на эмуле)) надо наверно попробовать на телефоне.. пасиб за помошь
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
выкидывает ошибка, "child Process Stdout Copier" · Разработка Java-приложений · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27.4.2024, 7:43

Форум живёт: