2013-08-16 35 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(); 

} 

}