ボタンをクリックしたらメッセージを表示
import java.awt.Component;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
//JFrameを拡張してMainFrmというクラスを作る。
//MouseListenerインタフェースを追加して、マウスのイベントを受け取れるようにする
public class MainFrm extends JFrame implements MouseListener{
/**
*
*/
//eclipseのデフォルトの設定だと警告が出るので、
//eclipseが指示するとおりにserialVersionUIDを追加
private static final long serialVersionUID = 1L;
//プログラム起動時に最初に実行される部分
public static void main(String[] args) {
//MainFrmというフレームをMyFrmという名前で作る
MainFrm MyFrm = new MainFrm();
//フレームMyFrmを表示する。
MyFrm.setVisible(true);
}
//”new MainFrm()”したときに実行される部分
public MainFrm() {
// TODO Auto-generated constructor stub
//フレームクローズでプロセスも閉じる。
//この一行が無いとフレームを閉じてもプロセスが実行され続けるので書く
setDefaultCloseOperation(EXIT_ON_CLOSE);
//フレームのサイズ:setSize(横幅, 縦幅)
setSize(400, 300);
//フレームのタイトル
setTitle("メインフレーム");
//ボタンを作成
JButton btn = new JButton("ボタン1");
//this(MainFrmのこと)のMouseListenerインタフェースをbtnに設定する
btn.addMouseListener(this);
//フレーム内のコンテナにボタンを追加
addComponent(getContentPane(), btn, 0, 0, 2, 1, 2);
}
//コンテナを指定して、コンポーネントを追加する
private void addComponent(Container cont, Component comp,
int x, int y, int w, int h, int space){
//コンテナのレイアウトがGridBagLayoutかどうかを判定
if(!cont.getLayout().getClass().equals(GridBagLayout.class)){
//GridBagLayoutでなければ、GridBagLayoutに設定する
cont.setLayout(new GridBagLayout());
}
//コンテナのレイアウトを取り出す
GridBagLayout gbl = (GridBagLayout)cont.getLayout();
//これから追加するコンポーネントの配置方法を指定する
GridBagConstraints gbc = new GridBagConstraints();
//コンポーネントがグリッドのセルより小さかったら、引き伸ばして表示するように設定
gbc.fill = GridBagConstraints.BOTH;
//コンポーネントを配置するセル:x列目のy行目に幅wセル、高さhセルで表示
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = w;
gbc.gridheight = h;
//セルの間にスペース
gbc.insets.set(space, space, space, space);
//コンポーネントに対する配置方法を登録
gbl.addLayoutComponent(comp, gbc);
//コンテナにコンポーネントを追加
cont.add(comp);
}
//MouseListenerインタフェース-----------------------------------------------------------ここから
//クリックされた
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
switch (arg0.getButton()) {
case MouseEvent.BUTTON1:
if (arg0.getClickCount() == 2){
//ダブルクリックされたら
JOptionPane.showConfirmDialog(null, "左ダブルクリック", "Clicked!", JOptionPane.DEFAULT_OPTION);
}
break;
case MouseEvent.BUTTON2:
JOptionPane.showConfirmDialog(null, "中クリック", "Clicked!", JOptionPane.DEFAULT_OPTION);
break;
case MouseEvent.BUTTON3:
JOptionPane.showConfirmDialog(null, "右クリック", "Clicked!", JOptionPane.DEFAULT_OPTION);
break;
default:
break;
}
}
//マウスポインタがコンポーネント上に入った
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
// JOptionPane.showConfirmDialog(null, "Entered", "Entered!", JOptionPane.DEFAULT_OPTION);
}
//マウスポインタがコンポーネント上から出た
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
// JOptionPane.showConfirmDialog(null, "Exited", "Exited!", JOptionPane.DEFAULT_OPTION);
}
//マウスのボタンが押された
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
// JOptionPane.showConfirmDialog(null, "Pressed", "Pressed!", JOptionPane.DEFAULT_OPTION);
}
//マウスのボタンが放された
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
// JOptionPane.showConfirmDialog(null, "Released", "Released!", JOptionPane.DEFAULT_OPTION);
}
//MouseListenerインタフェース-----------------------------------------------------------ここまで
}
最終更新:2011年06月14日 00:45