package com.itheima;
import javax.swing.*;
import java.awt.*;
public class MyFrame extends JFrame{
JTextField textField;
GridLayout gridLayout;
JButton button[][];
JPanel jPanel;
public MyFrame() {
init();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void init(){
button = new JButton[5][5];
BorderLayout borderLayout = (BorderLayout)getContentPane().getLayout();
borderLayout.setHgap(20);
borderLayout.setVgap(10);
textField = new JTextField();
textField.setHorizontalAlignment(SwingConstants.TRAILING); //文本输入
textField.setPreferredSize(new Dimension(12,50)); //设置组件文本框大小
add(textField,BorderLayout.NORTH);
textField.setColumns(10);
gridLayout = new GridLayout(4,0);
gridLayout.setHgap(5); //设置组件的水平间距
gridLayout.setVgap(5); //设置组件的垂直间距
jPanel = new JPanel();
jPanel.setLayout(gridLayout);
add(jPanel,BorderLayout.CENTER);
String name[][] = {{"1","2","3","+"},{"4","5","6","-"},{"7","8","9","*"},
{".","0","=","÷"}};
button = new JButton[4][4];
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
button[i][j] = new JButton(name[i][j]);
jPanel.add(button[i][j]);
}
}
}
}
Main类:
package com.itheima;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
MyFrame myFrame = new MyFrame();
myFrame.setBounds(100,100,290,282);
myFrame.setTitle("按钮数组实现计算器界面");
}
}
package Gui;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyFrame extends JFrame {
JTextField text[] = new JTextField[3];
JButton button;
public static void main(String[] args) {
MyFrame myFrame = new MyFrame();
}
public MyFrame(){
init();
setTitle("输入序列号");
setBounds(300,300,260,130);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
validate();
}
void init(){
PoliceListener policeListener = new PoliceListener();
setLayout(new FlowLayout());
for(int i=0;i<3;i++){
text[i] = new JTextField(7);
add(text[i]);
text[i].addKeyListener(policeListener);
text[i].addFocusListener(policeListener);
}
button = new JButton("确定");
add(button);
text[0].requestFocusInWindow();
}
class PoliceListener implements KeyListener, FocusListener {
@Override
public void focusGained(FocusEvent e) {
JTextField text = (JTextField)e.getSource();
text.setText(null);
}
@Override
public void focusLost(FocusEvent e) {
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
JTextField text = (JTextField)e.getSource();
if(text.getCaretPosition() >= 6){
text.transferFocus();
}
}
@Override
public void keyReleased(KeyEvent e) {
}
}
}