ボタンクリック

ボタンをクリックしたらメッセージを表示

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
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。