2013-08-16 68 views
0

我必須爲練習創建一個簡單的計算。應該有4個按鈕和一個文本字段作爲顯示。這裏是我的代碼爲4個按鈕:java計算器文本字段

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

class JFrameExample { 

    JButton btn1 = new JButton("1"); 
    JButton btn2 = new JButton("2"); 
    JButton btn3 = new JButton("+"); 
    JButton btn4 = new JButton("="); 

    public void calculator(){ 
    JFrame frame = new JFrame("SIMPLE JAVA CALCULATOR"); 
    frame.setSize(320,320); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setResizable(false); 
    frame.setVisible(true); 

    JPanel HeadPanel = new JPanel(); 
    JPanel NumberPanel = new JPanel(); 
    JPanel LabelPanel = new JPanel(); 

    NumberPanel.add(btn1); 
    NumberPanel.add(btn2); 
    NumberPanel.add(btn3); 
    NumberPanel.add(btn4); 

    NumberPanel.setLayout(new GridLayout(2,2)); 
    frame.add(NumberPanel,BorderLayout.CENTER); 
    } 

    public static void main(String[] args) { 
    JFrameExample jf = new JFrameExample(); 
    jf.calculator(); 
    } 
} 

我的問題是我不知道如何插入文本字段。我嘗試了一些來自互聯網的方法,但沒有結果。你們可以給我一個解決方案嗎?我應該怎麼做?至少鏈接到教程如何做到這一點。

+0

遺憾的英語不好 – JLink

+0

你能告訴你嘗試過什麼問題()你遇到過嗎? – Reimeus

+0

TextField txt = new TextField(15);在計算器方法之前 – JLink

回答

6

您將需要一個JTextField。您可以撥打setText()getText()來設置和獲取文本內容。

我會去:到形式

JPanel (BorderLayout) 
    | 
    +-- JPanel (GridLayout), BorderLayout.SOUTH 
    | | 
    | + Your buttons 
    | 
    +-- JTextField, BorderLayout.NORTH 
+0

我應該在方法之前插入JTextField還是......? – JLink

+0

我可以理解,但可以根據我的程序來解釋它... – JLink

0

將JTextField。

現在使用jtextFieldObject.setText()方法在其中設置值。 jtextFieldObject..getText()方法檢索文本字段中的文本。

+0

JTextField textfield = new JTextField(30); LabelPanel.add(textfield); – JLink

0

This可能會對您有所幫助。 在使用它之前,您必須具備有關不同組件及其方法的基本知識。所以最好先推薦一些基礎教程,而不是直接實施它。

0

希望這將幫助你

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

public class zzzz { 
JFrame f; 
JButton one,two,three,four,five,six,seven,eight,nine,zero,point,equal,plus,minus,divide,multiply; 
Container c; 
JTextField j; 

public zzzz(){ 
f=new JFrame("Calculator GUI"); 

f.setSize(250, 220); 
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
f.setResizable(false); 


c=f.getContentPane(); 

Dimension d=new Dimension(42,25); 
Dimension d1=new Dimension(220,35); 
Dimension d2=new Dimension(165,200); 
Dimension d3=new Dimension(45,200); 
Dimension d4=new Dimension(200,30); 

FlowLayout fl=new FlowLayout(FlowLayout.CENTER); 



one=new JButton("1"); 
two=new JButton("2"); 
three=new JButton("3"); 
four=new JButton("4"); 
five=new JButton("5"); 
six=new JButton("6"); 
seven=new JButton("7"); 
eight=new JButton("8"); 
nine=new JButton("9"); 
zero=new JButton("0"); 
point=new JButton("."); 
equal=new JButton("="); 

plus=new JButton("+"); 
minus=new JButton("-"); 
divide=new JButton("/"); 
multiply=new JButton("x"); 

j=new JTextField(); 
j.setEditable(false); 

JPanel p1=new JPanel(); 
JPanel p2=new JPanel(); 
JPanel p3=new JPanel(); 

p1.setLayout(new FlowLayout(FlowLayout.RIGHT)); 
p2.setLayout(new FlowLayout(FlowLayout.CENTER)); 
p3.setLayout(new FlowLayout(FlowLayout.CENTER)); 

p1.setPreferredSize(d1); 
p2.setPreferredSize(d2); 
p3.setPreferredSize(d3); 


p1.setBackground(Color.BLACK); 
p2.setBackground(Color.BLACK); 
p3.setBackground(Color.BLACK); 


j.setPreferredSize(d4); 
one.setPreferredSize(d); 
two.setPreferredSize(d); 
three.setPreferredSize(d); 
four.setPreferredSize(d); 
five.setPreferredSize(d); 
six.setPreferredSize(d); 
seven.setPreferredSize(d); 
eight.setPreferredSize(d); 
nine.setPreferredSize(d); 
zero.setPreferredSize(d); 
point.setPreferredSize(d); 
equal.setPreferredSize(d); 
plus.setPreferredSize(d); 
minus.setPreferredSize(d); 
divide.setPreferredSize(d); 
multiply.setPreferredSize(d); 

p1.add(j); 
p2.add(seven); 
p2.add(eight); 
p2.add(nine); 
p3.add(divide); 
p2.add(four); 
p2.add(five); 
p2.add(six); 
p3.add(multiply); 
p2.add(one); 
p2.add(two); 
p2.add(three); 
p3.add(minus); 
p2.add(zero); 
p2.add(point); 
p2.add(equal); 
p3.add(plus); 

c.setLayout(fl); 
c.setBackground(Color.BLACK); 

c.add(p1); 
c.add(p2); 
c.add(p3); 

f.setVisible(true); 
} 
public static void main(String[] args) { 
new zzzz(); 

} 

}