0

私はJPanelセットアップをしており、 (と)JLabelの上に配置された疑似ボタンとして機能するを持っています。に影響を与えずにをアニメートしたいのですが、 を再描画するたびにラベルが消えてしまいます。(私は彼らが描かれていると信じています)。JPaneljPanel.add(jLabel)JPanelJLabelJPanel

また、 a を使用してs とJLayeredPaneを分離しようとしましたが、それでもうまくいきません。JLabelJPanel

私が望むものを達成する方法はありますか?

マイコード

これにより、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メソッドは四角形の更新された値を取得するだけです。幅と高さを表しますwh

これは私の JLabel クラスのコンストラクタにあります

scene = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
4

0 に答える 0