2013-12-06 2 views
0

У меня есть этот кусок кода:Кнопки и изображение сохраняет исчезают

public void polarprocesso() { 

    JButton nxtb = new JButton(); 
    JButton bckb = new JButton(); 

    JFrame pola = new JFrame(" Processo de Polarização"); 
    pola.setResizable(false); 
    JPanel bpanel = new JPanel(new BorderLayout(700, 500)); 
    bpanel.setBackground(Color.white); 
    pola.add(bpanel); 

    nxtb.setIcon(new ImageIcon(FSIAP20132014.class.getResource("/Misc/next.png"))); 
    nxtb.setBounds(600, 430, 35, 27); 

    bpanel.add(nxtb); 
    nxtb.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      contadorbt++; 
      if (contadorbt > 3) { 
       contadorbt = 3; 
      } 
      if (contadorbt == 0) { 
       imagem.setIcon(new ImageIcon(FSIAP20132014.class.getResource("/Misc/polar2.gif"))); 
       imagem.setBounds(50, 170, 450, 300); 
       textopola.setText(PolarTexto.texto1); 
      } else if (contadorbt == 1) { 
       textopola.setText(PolarTexto.texto2); 
      } else if (contadorbt == 2) { 
       textopola.setText(PolarTexto.texto3); 
      } else if (contadorbt == 3) { 
       textopola.setText(PolarTexto.texto4); 
      } 
     } 
    }); 

    bckb.setIcon(new ImageIcon(FSIAP20132014.class.getResource("/Misc/back.png"))); 
    bckb.setBounds(550, 430, 35, 27); 

    bpanel.add(bckb); 

    textopola.setText(PolarTexto.texto1); 
    imagem.setIcon(new ImageIcon(FSIAP20132014.class.getResource("/Misc/polar2.gif"))); 
    imagem.setBounds(50, 170, 450, 300); 
    bckb.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      contadorbt--; 
      if (contadorbt < 0) { 
       contadorbt = 0; 
      } 
      if (contadorbt == 0) { 
       textopola.setText(PolarTexto.texto1); 
       imagem.setIcon(new ImageIcon(FSIAP20132014.class.getResource("/Misc/polar2.gif"))); 
       imagem.setBounds(50, 170, 450, 300); 

      } else if (contadorbt == 1) { 
       textopola.setText(PolarTexto.texto2); 
      } else if (contadorbt == 2) { 
       textopola.setText(PolarTexto.texto3); 
      } else if (contadorbt == 3) { 
       textopola.setText(PolarTexto.texto4); 
      } 
     } 
    }); 

    textopola.setEnabled(false); 
    textopola.setBackground(Color.gray); 
    textopola.setBounds(320, 10, 380, 170); 
    textopola.setOpaque(true); 
    bpanel.add(imagem); 
    bpanel.add(textopola); 

    pola.setResizable(false); 
    pola.setSize(new Dimension(702, 500)); 
    pola.setLocationRelativeTo(null); 
    pola.setAlwaysOnTop(true); 
    pola.setVisible(true); 

} 

Это в основном позволяет мне иметь какое-то слайд-шоу, где он показывает другой текст, когда пользователь нажимает следующую и заднюю кнопку. Однако, как только я иду на слайд 2, вся кнопка исчезает и появляется только, если я наводил на них мышь. Изображения делают то же самое, однако они никогда не появляются.

Я не знаю, если я был достаточно

http://puu.sh/5DUaR 
http://puu.sh/5DUbi 
puu.sh/5DUbJ 
puu.sh/5DUbY 

ясно Спасибо всем на заранее

+1

Если вы используете BorderLayout-Manager, вы должны использовать 'bpanel.add (Component, {position constraint})' вместо добавления компонентов. Взгляните на документацию здесь: http://docs.oracle.com/javase/tutorial/uiswing/layout/border.html –

ответ

0

Попробуйте добавить frame.revalidate вызова().

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