MouseEnterとMouseExitでそれぞれJButtonを追加したり削除したりしています。これは正常に機能していますが、ボタンがパネルに追加されると、BorderLayout.SOUTH
の代わりに右上に表示されます。Border正しい位置にコンポーネントを配置しないでください
フレームのみのJPanelを持っており、私が追加しただけの行が
jPanel1.addMouseListener(new myMouseListener(jPanel1));
あるマウスリスナー
package example;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JPanel;
public class myMouseListener extends MouseAdapter{
JButton btn;
JPanel panel;
public myMouseListener(JPanel panel)
{
this.panel = panel;
this.btn = new JButton("Test");
this.btn.setSize(40, 40);
}
public void mouseEntered(MouseEvent e) {
panel.setBackground(Color.red);
panel.add(btn, BorderLayout.SOUTH);
}
public void mouseExited(MouseEvent e) {
panel.setBackground(Color.blue);
panel.remove(btn);
}
}
あなたはここに
http://www.filehosting.org/file/details/302851/Example.zip
をsscceをダウンロードすることができ、誰問題についていくつか光を当てましたか?追加/削除した後
'JPanel'で' BorderLayout'を使用していますか? –
ソースコードのリンクを貼り付けません。誰かが提案できるようにコードを投稿してください。 – adatapost
Java命名規則を覚えておいてください。 – kleopatra