我必须为练习创建一个简单的计算。应该有4个按钮和一个文本字段作为显示。这是我的4个按钮的代码:
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 :(得分:6)
您需要一个JTextField。您可以致电setText()
和getText()
来设置和获取文字内容。
我会选择:
JPanel (BorderLayout)
|
+-- JPanel (GridLayout), BorderLayout.SOUTH
| |
| + Your buttons
|
+-- JTextField, BorderLayout.NORTH
答案 1 :(得分:0)
将JTextField拖到表单上。
现在使用jtextFieldObject.setText()方法设置其中的值。 jtextFieldObject..getText()方法,用于检索文本字段内的文本。
答案 2 :(得分:0)
This可能会有所帮助。 在使用之前,您必须具备有关不同组件及其方法的基本知识。所以最好先引用一些基础教程,而不是直接实现它。
答案 3 :(得分: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();
}
}