어떻게 다른 JPanel 내부에있는 JPanel을 다시 칠할 수 있습니까?다른 JPanel 내부의 JPanel 다시 그리기
이내 주요 패널 :
contentPane = new JPanel() {
protected void paintComponent(java.awt.Graphics g) {
super.paintComponents(g);
try {
g.drawImage(ImageIO.read(JanelaJogo.class
.getResource("/imagens/fundo/fundo4.jpg")), 0, 0,
this);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
이 패널 내 코드 조각이있다 ... 나는 내가 인터넷에서 발견 된 몇 가지 답변을 시도했지만 나는 그것이 작동하지 수 내부 :
bonusPanel = new JPanel() {
@Override
public void paintComponents(Graphics g) {
// TODO Auto-generated method stub
super.paintComponent(g);
}
@Override
public Dimension getPreferredSize()
{
Dimension dim = contentPane.getSize();
int largura = dim.width;
dim = new Dimension(largura, 150);
return new Dimension(dim);
}
};
bonusPanel.setBackground(new Color(0, 0, 0, 0));
contentPane.add(bonusPanel, BorderLayout.SOUTH);
내 bonusPanel 이미지 아이콘이다 2 개 레이블이, 일부 사용자가 게임을 조합 할 때 그 이미지 새로 고침을 원하는, 문제는 내가 가지고 ... 그것은 상쾌한되지 않는 것입니다 시도했습니다 repaint()
, revalidade()
, validade()
, contentPane
, bonusPanel
에는 아무런 작업이 없습니다 ... 도움을 위해 미리 감사드립니다!
업데이트 :이 이미지는 내가 더 나은 내가 원하는 것을 설명 할 것입니다 ...
내가 "폭탄"의 일치가있을 때, 자바 콘솔, 프로그램의 출력에 넣어, 그래서 , 힘 (버튼에 폭탄) 이미지를 변경해야합니다 ... 그리고 당신이 볼 수 있듯이, "bonus_bomba_1.png"및 "bonus_bomba_2.png"이미지로 변경하지만 현재 이미지를 콘솔에 인쇄,하지만 문제는 GUI를 새로 고치고 있습니다 ... 이전에 게시 한 코드를 최신 버전으로 업데이트했습니다 ... 아직 수행해야 할 작업을 파악하지 못했기 때문에 drawImage를 변경하지 않았습니다. 아직 변경되지 않았습니다 ...
이것은 내가 업데이트 "전원"의 라벨의 이미지를하고 있어요 무엇 :
private void iconBomb(String s) {
try {
bombPic = ImageIO.read(this.getClass().getResource(s));
powerBomb.setIcon(new ImageIcon(bombPic));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
가 도움을 사전에 감사합니다!
당신이 말했지만 아직 라벨의 이미지를 새로 고치지 않은 모든 작업이 완료되었습니다. –
@ JoãoSilva, 질문을 업데이트하여 문제를 보여주는 적절한 [SSCCE] (http://www.sscce.org/)를 게시하십시오. 'SSCCE'는 모든 질문에 게시해야하므로 귀하가하는 일을 추측 할 필요가 없습니다. – camickr
지금 내 질문이 업데이트되었습니다. 도움에 감사드립니다. –