0

while次のコードがあります。ループを除いてすべてが機能しているようです。コードは次のとおりです。

JLabel img = new JLabel(loadingScreens.getImageIcon(0));
    loadingFrame.setUndecorated(true);
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    double width = screenSize.getWidth();
    double height = screenSize.getHeight();
    int wid = (int) width;
    int hgt = (int) height;
    wid = wid/2;
    hgt = hgt/2;
    wid -=350;
    hgt -=350;
    loadingFrame.setLocation(wid, hgt);

    loadingFrame.setSize(700, 700);
    loadingFrame.setBackground(new Color(0,0,0,0));
    loadingFrame.add(img);
    loadingFrame.setIconImage(loadingScreens.getImage(0));
    loadingFrame.setVisible(true);
    System.out.println("Done 1");
    try{
    Thread.sleep(500);
    System.out.println("Done 2");
    }catch(Exception e){
        System.out.println("exception caught");
    }

    Integer lo = 0;
    System.out.println("Done 3");
    while(lo.equals(256)){

        System.out.println("Started 4");

        loadingFrame.setBackground(new Color(lo, lo, lo, lo));

        loadingFrame.repaint();
        try{
            Thread.sleep(10);
        }catch(Exception e2){

        }
        lo++;
    }

loadingFrame基本的なJFrameです。

どんな助けも役に立ちます

4

2 に答える 2

5

while ループは、指定された条件が である間ループしますtruelo256 と等しくない 0 に初期化したため、ループ本体には入りません。

ループでインクリメントloするため、おそらく反対のことを意味していました。

while(!lo.equals(256)){

Javaの!演算子はブール条件を否定するため、「while lo は256 と等しくありません」と表示されます。

于 2013-06-18T18:40:20.050 に答える