Java窗口之文本框、按鈕、菜單

文本框、按鈕、文本域


import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class FrameDemo {
	public static void main(String[] args) {
		// 創建窗體對象
		Frame f = new Frame();
		// Frame ff = new Frame("ahahahah") 構造給窗體標題

		// 設置窗體標題
		f.setTitle("hahahaha");

		// 調節窗口大小
		f.setSize(500, 500);
		// 設置窗口位置
		// f.setLocation(400,200);

		// f.setBounds(x, y, width, height);
		// 設置窗口居中
		f.setLocationRelativeTo(null);

		// 流式佈局
		f.setLayout(new FlowLayout());

		// 創建文本框
		TextField tf = new TextField(20); // 可以存20個字符

		// 創建按鈕
		Button bu = new Button("數據轉移");

		// 創建文本域
		TextArea ta = new TextArea(10, 40);

		// 組件添加到窗體
		f.add(tf);
		f.add(bu);
		f.add(ta);

		// 對按鈕添加事件
		bu.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				// 獲取文本框的值
				String tf_str = tf.getText().trim();
				// 清空數據
				tf.setText("");

				// 設置給文本域
				// ta.setText(tf_str);

				// 字符串比較
				if (tf_str.equals("123")) {
					// 追加和換行
					ta.append("123" + "\r\n");
				} else
					ta.append("輸錯了" + "\r\n");

				// 獲取光標
				tf.requestFocus();
			}
		});

		// 適配器改進窗口關閉
		f.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				// TODO Auto-generated method stub
				System.exit(0);
			}
		});
		// 窗體可見
		f.setVisible(true);
	}
}

鼠標移動按鈕更改背景顏色:

import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;



public class FrameDemo2 {

	public static void main(String[] args) {
		//創建窗體
		Frame f = new Frame("按鈕顏色");
		//大小
		f.setSize(500, 400);
		//居中
		f.setLocationRelativeTo(null);
		//流式佈局
		f.setLayout(new FlowLayout());
		//設置按鈕
		Button redButton = new Button("紅色");
		Button greenButton = new Button("綠色");
		Button blueButton = new Button("藍色");
		
		f.add(redButton);
		f.add(greenButton);
		f.add(blueButton);
		
		//窗口關閉
		f.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				// TODO Auto-generated method stub
				System.exit(0);
			}
		});
		
		//對按鈕添加動作事件
//		redButton.addActionListener(new ActionListener() {
//			@Override
//			public void actionPerformed(ActionEvent e) {
//				// TODO Auto-generated method stub
//				f.setBackground(Color.red);
//			}
//		});
		
		//對按鈕的單擊事件
//		redButton.addMouseListener(new MouseAdapter() {
//			@Override
//			public void mouseClicked(MouseEvent e) {
//				// TODO Auto-generated method stub
//				f.setBackground(Color.red);
//			}
//		});
		
		//對按鈕添加鼠標進入事件
		redButton.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseEntered(MouseEvent e) {
				// TODO Auto-generated method stub
				f.setBackground(Color.red);
			}
		});
		//對按鈕添加離開事件
		redButton.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub
				f.setBackground(Color.white);
			}
		});
		
		//對按鈕添加鼠標進入事件
		greenButton.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseEntered(MouseEvent e) {
				// TODO Auto-generated method stub
				f.setBackground(Color.green);
			}
		});
		//對按鈕添加離開事件
		greenButton.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub
				f.setBackground(Color.white);
			}
		});
		
		//對按鈕添加鼠標進入事件
		blueButton.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseEntered(MouseEvent e) {
				// TODO Auto-generated method stub
				f.setBackground(Color.blue);
			}
		});
		//對按鈕添加離開事件
		blueButton.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub
				f.setBackground(Color.white);
			}
		});
		//窗體可見
		f.setVisible(true);
	}
}

文本框輸入加限制:


import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;

public class JframeDemo {

	public static void main(String[] args) {
		
		// Jframe 類創建窗口
		JFrame jf = new JFrame("文本框");
		
		//大小
		jf.setSize(400, 400);
		
		//居中
		jf.setLocationRelativeTo(null);
		
		//流式佈局
		jf.setLayout(new FlowLayout());
		Label label = new Label("只能輸入數字,不信你試試!");
		//創建文本框
		TextField tf = new TextField(30);
		
		
		//加入窗體
		jf.add(label);
		jf.add(tf);
		
		
		//窗口可關閉
		jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		
		//可見
		jf.setVisible(true);
		tf.addKeyListener(new KeyAdapter() {
			@Override
			public void keyPressed(KeyEvent e) {
				// TODO Auto-generated method stub
				char ch = e.getKeyChar();
				if(!(ch>='0'&&ch<='9')) {
					e.consume();
				}
			}
		});
	}
}

菜單


import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;

public class WIndowmenu extends JFrame{
	//菜單條
	JMenuBar menubar = new JMenuBar();
	//創建菜單
	JMenu menu = new JMenu("菜單");
	JMenu subMenu = new JMenu("軟件項目");
	JMenuItem item,item2;
	public WIndowmenu() {
	}
	@SuppressWarnings("deprecation")
	public void init() {
		setTitle("帶菜單的窗口");
		item = new JMenuItem("Java 話題",new ImageIcon("src\\menu\\aa.png"));
		item2 = new JMenuItem("動畫話題",new ImageIcon("src\\\\menu\\\\bb.png"));
//		item.setAccelerator(KeyStroke.getKeyStroke('x'));
//		item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
		menu.add(item);
		menu.addSeparator();
		menu.add(item2);
		menu.add(subMenu);
		subMenu.add(new JMenuItem("汽車銷售系統",new ImageIcon("src\\\\menu\\\\cc.png")));
		subMenu.add(new JMenuItem("農場信息系統",new ImageIcon("src\\\\menu\\\\dd.png")));
		menubar.add(menu);
		setJMenuBar(menubar);
		
		setLocationRelativeTo(null);
		setSize(400,300);
		setVisible(true);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
	}
	public static void main(String[] args) {
		WIndowmenu indowmenu = new WIndowmenu();
		indowmenu.init();
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章