文本框、按鈕、文本域
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();
}
}