【问题标题】:Grid layout using Javascript for a calculator使用 Javascript 进行计算器的网格布局
【发布时间】:2010-03-12 06:24:58
【问题描述】:

谁能告诉我使用网格布局设置计算器按钮的最佳方法

【问题讨论】:

  • 现有代码需要帮助您。
  • 你在使用任何 javascript 工具包吗?
  • 是的,我正在使用 javascript 工具包

标签: java asp.net javascript jquery html


【解决方案1】:

这几乎是一个太笼统的问题,你甚至没有说清楚你在说什么编程语言(JavaScript?Java?X.net?)。

让我给你一个使用 Java 的例子。基本思想是为每个按钮创建一个 javax.swing.JButton(假设您使用 Swing),然后考虑您想要实现的布局(显然是网格),并将按钮添加到父组件。例如,模仿 GNOME 计算器的布局:

import java.awt.*;
import javax.swing.*;

/**
 * +----+----+----+----+
 * |Bksp| CE | Clr| +- |
 * +----+----+----+----+
 * | 7  | 8  | 9  | /  |
 * +----+----+----+----+
 * | 4  | 5  | 6  | *  |
 * +----+----+----+----+
 * | 1  | 2  | 3  | -  |
 * +----+----+----+----+
 * | 0  | .  | =  | +  |
 * +----+----+----+----+
 */
public class Calculator extends JPanel {
    public Calculator() {
        JButton bksp      = new JButton("Bksp");
        JButton ce        = new JButton("CE");
        JButton clr       = new JButton("Clr");
        JButton plusminus = new JButton("+-");
        JButton div       = new JButton("/");
        JButton mult      = new JButton("*");
        JButton minus     = new JButton("-");
        JButton plus      = new JButton("+");
        JButton equals    = new JButton("=");
        JButton dot       = new JButton(".");
        JButton[] digits = new JButton[10];
        for (int i = 0; i < digits.length; i++) {
            digits[i] = new JButton(String.valueOf(i));
        }

        /* do the layout */
        setLayout(new GridLayout(5, 4, 5, 5));
        add(bksp);
        add(ce);
        add(clr);
        add(plusminus);
        add(digits[7]);
        add(digits[8]);
        add(digits[9]);
        add(div);
        add(digits[4]);
        add(digits[5]);
        add(digits[6]);
        add(mult);
        add(digits[1]);
        add(digits[2]);
        add(digits[3]);
        add(minus);
        add(digits[0]);
        add(dot);
        add(equals);
        add(plus);
    }

    public static void main(String[] args) {
        Calculator calc = new Calculator();

        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(calc);

        frame.setSize(300, 300);
        frame.setVisible(true);
    }
}

使用new GridLayout(5, 4, 5, 5),您定义了一个 5x4 网格(5 行 4 列)和 5 个像素的单元格间距,水平和垂直。之后,您只需按正确的顺序(从左到右、从上到下)添加按钮。

【讨论】:

  • 在问题本身我已经写了它正在使用的javascript。
猜你喜欢
  • 1970-01-01
  • 2016-10-02
  • 1970-01-01
  • 1970-01-01
  • 2019-03-01
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
  • 2016-12-27
相关资源
最近更新 更多