该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*; class SwingCalculator {

public static void main(String[] args) {

JFrame frame = new Calculator();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*; class Calculator extends JFrame {

private final Font BIGGER_FONT = new Font("monspaced", Font.PLAIN, 20);

private JTextField textfield;

private boolean number = true;

private String equalOp = "=";

private CalculatorOp op = new CalculatorOp(); public Calculator() {

textfield = new JTextField("0", 12);

textfield.setHorizontalAlignment(JTextField.RIGHT);

textfield.setFont(BIGGER_FONT); ActionListener numberListener = new NumberListener();

String buttonOrder = "1234567890 ";

JPanel buttonPanel = new JPanel();

buttonPanel.setLayout(new GridLayout(4, 4, 4, 4));

for (int i = 0; i < buttonOrder.length(); i++) {

String key = buttonOrder.substring(i, i+1);

if (key.equals(" ")) {

buttonPanel.add(new JLabel(""));

} else {

JButton button = new JButton(key);

button.addActionListener(numberListener);

button.setFont(BIGGER_FONT);

buttonPanel.add(button);

}

}

ActionListener operatorListener = new OperatorListener();

JPanel panel = new JPanel();

panel.setLayout(new GridLayout(4, 4, 4, 4));

String[] opOrder = {"+", "-", "*", "/","=","C"};

for (int i = 0; i < opOrder.length; i++) {

JButton button = new JButton(opOrder[i]);

button.addActionListener(operatorListener);

button.setFont(BIGGER_FONT);

panel.add(button);

}

JPanel pan = new JPanel();

pan.setLayout(new BorderLayout(4, 4));

pan.add(textfield, BorderLayout.NORTH );

pan.add(buttonPanel , BorderLayout.CENTER);

pan.add(panel , BorderLayout.EAST );

this.setContentPane(pan);

this.pack();

this.setTitle("Calculator");

this.setResizable(false);

}

private void action() {

number = true;

textfield.setText("0");

equalOp = "=";

op.setTotal("0");

}

class OperatorListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

if (number) {

action();

textfield.setText("0");

} else {

number = true;

String displayText = textfield.getText();

if (equalOp.equals("=")) {

op.setTotal(displayText);

} else if (equalOp.equals("+")) {

op.add(displayText);

} else if (equalOp.equals("-")) {

java field setfont_java高手请进!相关推荐

  1. ghost linux磁盘 出错,关于linux的磁盘ghost的问题,高手请进

    关于linux的磁盘ghost的问题,高手请进 (2011-08-23 06:08:36) 标签: 杂谈 关于linux的磁盘ghost的问题,高手请进我是linux的服务器,磁盘是SCSI的32G单 ...

  2. 不愧java_JAVA高手请进

    我把java放在C:\ProgramFiles\Java下了环境变量我设置的是变量名CLASSPATH变量值.;%java_home%\jdk1.6.0_02\bin;%java_home%\jdk1 ...

  3. java field setfont_Java JTextField.setFont方法代碼示例

    本文整理匯總了Java中javax.swing.JTextField.setFont方法的典型用法代碼示例.如果您正苦於以下問題:Java JTextField.setFont方法的具體用法?Java ...

  4. 霍夫变换MATLAB怎么实现,做过Matlab关于霍夫变换检测圆的高手请进

    Hough变换对圆的检测 Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线. Hough对圆的检测程序如下  完整的程序及 ...

  5. 高手请进关于RAID和热备

    大家好 我是新人  在晚上2点来问个问题,希望高手能帮忙解决下. 我现在的硬件是:一台HP 180G6服务器 5620CPU (双)8G内存 14块1T热盘 212的RAID卡 大小256M  预装系 ...

  6. oracle java耗cpu_ORACLE高手请看过来,CPU使用率100% (100分)

    看不出什么问题 oms.nohup 好像正常 总之云里雾里 剪了最后一段青帮忙看看 用于 Windows NT 的 OEMCTL: 版本 9.2.0.1.0 正式版 版权所有 (c) 1998, 20 ...

  7. linux内核去掉pty,请问如何升级内核?高手请进!!!

    请问各位高手,应当如何升级内核?小弟我现在使用的是redhat7.0 2.2.16,想升级为2.4.3,kernel已下载,是一个名为linux-2.4.3.tar.bz2的包,有19M大.请问以下我 ...

  8. 是编写回合制网游外挂的高手请进

    小弟不才  学了点C++和一些 游戏基础==!    想做外挂       回合制的     多开游戏   自动自学打怪    做任务      思路都不懂  想请高手发表 回合制外挂的源代码     ...

  9. oracle怎么批量执行tdl文件,悬赏:ORACLE应用开发及安装高手请进

    以前都是用java写写代码,对C/C++有很多东西不熟悉,请多多指教 本人操作数据库的方法是用OTLV4 操作数据库的,在windows和inux下均没有问题,但是移植到solaris就链接文件出现问 ...

  10. 如何通过c语言获取ipv6邻居表,急求在vc++6.0中获取IPV6地址的方法,高手请进,谢谢!!...

    本人最近getaddrinfo函数获取本机IP地址,本机的IPV4地址能正确获得,但本机IPV6地址只能获得环路地址,即::1.为什么不能获得IPV6的Global地址或链路本地地址.恳请指点,不胜感 ...

最新文章

  1. linux命令gcc常用选项
  2. 提高C程序效率的10种方法
  3. 还分不清芯片封装?给你整理好了常用的IC封装,点击收藏!
  4. linux防火墙 33001端口,Linux操作系统下IPTables配置方法详解
  5. 【Python】Python3.7.3 - 闭包Closure技术
  6. 多项logistic回归系数解释_因变量无序多分类资料的logistic回归
  7. php tp5 parent,[李景山php]每天TP5-20161225|thinkphp5-Console.php-2
  8. Hash表素数大集合
  9. 【微服务】使用yml格式进行nacos拓展配置
  10. 半空间数据空间化相关接口
  11. 精易论坛多线程培训第二期
  12. 由于找不到 MSVCR120.dll,无法继续执行代码解决方法
  13. 最新炫酷恶趣图制作神器小程序源码+支持流量主/功能强大
  14. 编程求解丢番图方程的原理
  15. 手动修改dns服务器设置,如何修改DNS设置 修改DNS设置方法【详解】
  16. word段落每行首字怎么对齐_如何将emword/em中上下两行文字首字对齐?-word 左右对齐,word同一行不同...
  17. 第一次考CSP(第27次CCF计算机软件能力认证)
  18. javascript实现下拉框表单美化的详细实例教程
  19. 一篇博客教会你写序列化工具
  20. 大学物理复习--恒定磁场

热门文章

  1. 【转】 解决IllegalStateException: Can not perform this action after onSaveInstanceState
  2. iOS---NSAutoreleasePool自动释放原理及详解
  3. JavaScript -- Window-Resize
  4. 最近在做中文的全文检索(中文搜索引擎)
  5. win7玩游戏窄屏变宽频的方法
  6. 第4章 最基础的分类算法-k近邻算法 kNN 学习笔记 下
  7. 电子书的下载与查阅书的源码
  8. Atitit 网络存储协议 远程存储协议 目录 1. Email类 1 1.1. Eas Exchange Activesync介绍 1 1.2. Imap pop3 1 2. 网盘类远程存储web
  9. Atitit 遗留系统的改造 微创技术 attilax总结 目录 1. 微创是高科技带来的革命! 1 1.1. 早期微创 1 1.2. 微创五大优点 1 2. 常用辅助设备与模块 2 2.1. 清晰
  10. Atitit java读取tif文件为空null的解决 图像处理