运用Java Swing技术实现一个简单的计算
跪求啊啊啊 ~!!! 明天要交作业却不会编的孩纸求帮忙啊
有悬赏啊~!!!
有追加啊~!!!
答案:一共写了四个文件,
1.BlueButton.java
import java.awt.Color;
import javax.swing.JButton;
public class BlueButton extends JButton {
/**
*
*/
private static final long serialVersionUID = 1L;
public BlueButton(String text){
super(text);
setForeground(Color.BLUE);
}
}
2.RedButton.java
import java.awt.Color;
import javax.swing.JButton;
public class RedButton extends JButton {
/**
*
*/
private static final long serialVersionUID = 1L;
public RedButton(String text){
super(text);
setForeground(Color.RED);
}
}
3.GUI.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GUI extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
JMenuBar bar;
JMenu edit, view, help;
protected JMenuItem copy, paste, typical, science, group, subject, about;
protected JTextField txt;
protected JPanel buttonPane, numPane;
protected JPanel subNorthPane, subWestPane;
protected JButton[] numButtons;
protected JButton btnAdd;
protected JButton btnSub;
protected JButton btnMul;
protected JButton btnDiv;
protected JButton btnSig;
protected JButton btnPoint;
protected JButton btnSqrt;
protected JButton btnBack;
protected JButton btnC;
protected JButton btnCE;
protected JButton btnReciprocal;
protected JButton btnCalc;
public GUI(){
super("计算器");
Toolkit tk = getToolkit();
Image img = tk.getImage("");
setIconImage(img);
setLocation(400, 500);
setResizable(false);
getContentPane().setLayout(new BorderLayout());
setGUI();
setSize(380, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void setGUI() {
setMenu();
Container c = getContentPane();
txt = new JTextField("0.");
txt.setHorizontalAlignment(JTextField.RIGHT);
txt.setEditable(false);
txt.setBackground(Color.WHITE);
c.add(txt, BorderLayout.NORTH);
buttonPane = new JPanel();
buttonPane.setLayout(new BorderLayout(8, 3));
subWestPane = new JPanel();
subWestPane.setLayout(new GridLayout(4, 1, 3, 3));
subWestPane.add(new RedButton("MC"));
subWestPane.add(new RedButton("MR"));
subWestPane.add(new RedButton("MS"));
subWestPane.add(new RedButton("M+"));
subNorthPane = new JPanel();
subNorthPane.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 3));
JLabel j = new JLabel(" ");
j.setBorder(BorderFactory.createLoweredBevelBorder());
subNorthPane.add(j);
btnBack = new RedButton("Backspace");
btnCE = new RedButton(" CE ");
btnC = new RedButton(" C ");
subNorthPane.add(btnBack);
subNorthPane.add(btnCE);
subNorthPane.add(btnC);
numPane = new JPanel();
numPane.setLayout(new GridLayout(4, 5, 3, 3));
numButtons = new JButton[10];
for(int i=0; i<numButtons.length; i++){
numButtons[i] = new BlueButton(String.valueOf(i));
}
numPane.add(numButtons[7]);
numPane.add(numButtons[8]);
numPane.add(numButtons[9]);
btnDiv = new RedButton("/");
numPane.add(btnDiv);
btnSqrt = new RedButton("sqrt");
numPane.add(btnSqrt);
numPane.add(numButtons[4]);
numPane.add(numButtons[5]);
numPane.add(numButtons[6]);
btnMul = new RedButton("*");
numPane.add(btnMul);
numPane.add(new RedButton("%"));
numPane.add(numButtons[1]);
numPane.add(numButtons[2]);
numPane.add(numButtons[3]);
btnSub = new RedButton("-");
numPane.add(btnSub);
btnReciprocal = new RedButton("1/x");
numPane.add(btnReciprocal);
numPane.add(numButtons[0]);
btnSig = new RedButton("+ / -");
numPane.add(btnSig);
btnPoint = new RedButton(".");
numPane.add(btnPoint);
btnAdd = new RedButton("+");
numPane.add(btnAdd);
btnCalc = new RedButton("=");
numPane.add(btnCalc);
buttonPane.add(subWestPane, BorderLayout.WEST);
buttonPane.add(subNorthPane, BorderLayout.NORTH);
buttonPane.add(numPane, BorderLayout.CENTER);
c.add(buttonPane, BorderLayout.CENTER);
}
private void setMenu() {
bar = new JMenuBar();
copy = new JMenuItem("Copy");
copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyEvent.CTRL_MASK, false));
paste = new JMenuItem("Paste");
paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, KeyEvent.CTRL_MASK, false));
edit = new JMenu("EDIT");
edit.add(copy);
edit.add(paste);
typical = new JMenuItem("Typical");
science = new JMenuItem("Science");
group = new JMenuItem("Group");
view = new JMenu("VIEW");
view.add(typical);
view.add(science);
view.addSeparator();
view.add(group);
subject = new JMenuItem("Subject");
about = new JMenuItem("About");
help =new JMenu("HELP");
help.add(subject);
help.addSeparator();
help.add(about);
bar.add(edit);
bar.add(view);
bar.add(help);
setJMenuBar(bar);
}
}
4.Calc.java
public class Calc {
/**
* @param args
*/
public static void main(String[] args) {
new GUI();
}
}
其他:http://hi.zhaoxi.net/tjx1222/blog/item/014cc2eed990a93b2df534de.html 代码太长自己去看
上一个:上大一,我想买二手笔记本,平时玩玩魔兽,也调java,请问这样的电脑可以吗?
下一个:一道java试题--求解释