2010-03-12 154 views
-1

誰能告訴我最好的方式來使用網格佈局設置我的計算器的按鈕網格佈局

+0

你到目前爲止有什麼想法? – RageZ 2010-03-12 06:31:36

+0

現有的代碼是必要的,以幫助你。 – 2010-03-12 09:00:26

+0

您是否使用任何JavaScript工具包? – Philippe 2010-03-15 15:40:20

回答

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個像素中的小區間的間距,水平和垂直方向。之後,您只需按照正確的順序(從左到右,從上到下)添加按鈕。

+0

在問題本身,我寫了它正在使用JavaScript。 – Ravia 2010-03-15 10:44:03