プログラミングしているゲームのグラフィックをデザインしています。JLabel がクリックされたときにフレームを開く簡単な方法があるかどうか知りたいですか?
これのための簡単なコードはありますか?
プログラミングしているゲームのグラフィックをデザインしています。JLabel がクリックされたときにフレームを開く簡単な方法があるかどうか知りたいですか?
これのための簡単なコードはありますか?
MouseListener
インターフェイスを実装し、そのmouseClicked
メソッドを使用して JLabel のクリックを処理します。
label.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
// you can open a new frame here as
// i have assumed you have declared "frame" as instance variable
frame = new JFrame("new frame");
frame.setVisible(true);
}
});
ラベルを作成し、そこにクリック イベントを追加します。
このようなもの :
JLabel click=new JLabel("Click me");
click.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
JFrame jf=new JFrame("new one");
jf.setBackground(Color.BLACK);
jf.setSize(new Dimension(200,70));
jf.setVisible(true);
jf.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
});
新しいJFrameを作成しないでください。JFrameの束を作成することはありませんOutOfMemoryException
。これはGCされることはないため、で計算する必要があります。Object
複数のビューでCardLayoutを使用する場合
回答を参照してください複数のJFrameの使用、良い/悪い習慣?に@Andrew Thompson
次のようにできます。
label.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e)
{
JPanel j = new JPanel();
frame.setContentPane(j);
}
});
1:- Implement your class containing the JLabel with MouseListener interface
2:- add MouseListener to your JLabel
3:-Override mouseClicked Event in your class
4:- In mouseClicked Even't body add your code to open a new JFrame/Frame .