私はJPanel
セットアップをしており、 (と)JLabel
の上に配置された疑似ボタンとして機能するを持っています。に影響を与えずにをアニメートしたいのですが、 を再描画するたびにラベルが消えてしまいます。(私は彼らが描かれていると信じています)。JPanel
jPanel.add(jLabel)
JPanel
JLabel
JPanel
また、 a を使用してs とJLayeredPane
を分離しようとしましたが、それでもうまくいきません。JLabel
JPanel
私が望むものを達成する方法はありますか?
マイコード
これにより、JLabel と jPanel がセットアップされます。
mainPanel = new JPanel();
JLayeredPane c = new JLayeredPane();
c.setPreferredSize(new Dimension(WIDTH, HEIGHT));
c.setVisible(true);
c.setOpaque(true);
c.add(mainPanel,new Integer(0));
c.add(test, new Integer(2));
add(c);
mainPanel.setBounds(0, 0, WIDTH, HEIGHT);
これは、JPanel 内の私の paintComponent メソッドを示しています (JPanel を拡張するカスタム クラスです)。
public void paintComponent(Graphics g){
super.paintComponent(g);
scene = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
g2d = scene.createGraphics();
Rectangle2D.Double rec = new Rectangle2D.Double(questionBox.getXFloat(), questionBox.getYFloat(), questionBox.getWidthFloat(), questionBox.getHeightFloat());
g2d.fill(rec);
g.drawImage(scene, 0, 0, this);
}
明確にするために、questionBox
メソッドは四角形の更新された値を取得するだけです。幅と高さを表しますw
。h
これは私の JLabel クラスのコンストラクタにあります
scene = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);