1
私は自分のFrame
に追加するカスタムJPanel
クラスを持っており、常に更新します。このクラスは、無効にされたpaintComponent
とJButton
を持っています。 paintComponent
に描画されたグラフィックに、JButton
を描画するにはどうすればよいですか?私はいつもこのをループで更新します。repaint()
はそれですが、私はJButton
を変更しません。私のカスタムJPanel
クラスは私のMain
クラスのサブクラスです。JavaグラフィックのJButton infrontを描画するには?
Myパネルクラス
public class interTower extends JPanel implements ActionListener{
public interTower(){
setVisible(true);
setPreferredSize(new Dimension(SCREENWIDTH, SCREENHEIGHT));
JButton interTower_back = new JButton("Back");
interTower_back.setActionCommand("interTower_back");
interTower_back.addActionListener(this);
add(interTower_back);
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
drawMaster(g2d);
g2d.dispose();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
1) 'super.paintComponent(g);'をメソッドの最初の行に移動します。2) 'g.dispose();'作成していない 'Graphics'オブジェクトを破棄しません。 3) 'g2d'は同じグラフィックスオブジェクトです。それを処分しないでください。 3)もっと早い時期に、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 4)一般的なJava命名法(命名規則、例えば 'EachWordUpperCaseClass'、' firstWordLowerCaseMethod() '、' firstWordLowerCaseAttribute'が 'UPPER_CASE_CONSTANT'でない限り)を学び、それを一貫して使用してください。 –
* "既にそうだった" *使用しているコードに「何かのようなもの」を掲示するのではなく、***実際には失敗したコードのMCVEを表示する。 –
@AndrewThompsonこのコードは失敗しています – Colourfit