要求用java编一个计算器GUI出来.
packageweek8_caculation;importjava.awt.*;importjavax.swing.*;publicclassweek8_caculat...
package week8_caculation;
import java.awt.*;
import javax.swing.*;
public class week8_caculation extends JFrame {
public week8_caculation () {
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(4,4,5,5));
int i,j,k;
for(i=1;i<=4;i++){
if(i==4){
panel1.add(new JButton("/"));
}
else
panel1.add(new JButton("i"+6));
}
for(j=1;j<=4;j++){
if(j==4){
panel1.add(new JButton("*"));
}
else
panel1.add(new JButton("j"+3));
}
for(k=1;k<=4;k++){
if(k==4){
panel1.add(new JButton("-"));
}
else
panel1.add(new JButton("k"));
}
panel1.add(new JButton("0"));
panel1.add(new JButton("00"));
panel1.add(new JButton("."));
panel1.add(new JButton("+"));
//----------------------------------------------------------------------------------------------//
JPanel panel2 =new JPanel(new GridLayout(3,1,5,5));
panel2.add(new JButton("C"));
panel2.add(new JButton("√"));
panel2.add(new JButton("="));
//----------------------------------------------------------------------------------------------//
JPanel panel3 =new JPanel(new BorderLayout());
panel3.add(panel1,BorderLayout.CENTER);
panel3.add(panel2,BorderLayout.EAST);
//----------------------------------------------------------------------------------------------//
JPanel panel4 =new JPanel(new BorderLayout());
panel4.add(panel3,BorderLayout.CENTER);
panel4.add(new JTextField("0"),BorderLayout.NORTH);
}
//----------------------------------------------------------------------------------------------//
public static void main(String[] args) {
week8_caculation frame=new week8_caculation();
frame.setTitle("计算器");
frame.setSize(400, 500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
这是我本人的代码,我不知道为什么我运行的时候结果是没有出现任何Button的,只出现了一个"计算器"的框架.就是说框架里面没有任何东西.检测代码也没有出现红色错误.我想问问我的代码有什么问题所在!求大神指点! 展开
import java.awt.*;
import javax.swing.*;
public class week8_caculation extends JFrame {
public week8_caculation () {
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(4,4,5,5));
int i,j,k;
for(i=1;i<=4;i++){
if(i==4){
panel1.add(new JButton("/"));
}
else
panel1.add(new JButton("i"+6));
}
for(j=1;j<=4;j++){
if(j==4){
panel1.add(new JButton("*"));
}
else
panel1.add(new JButton("j"+3));
}
for(k=1;k<=4;k++){
if(k==4){
panel1.add(new JButton("-"));
}
else
panel1.add(new JButton("k"));
}
panel1.add(new JButton("0"));
panel1.add(new JButton("00"));
panel1.add(new JButton("."));
panel1.add(new JButton("+"));
//----------------------------------------------------------------------------------------------//
JPanel panel2 =new JPanel(new GridLayout(3,1,5,5));
panel2.add(new JButton("C"));
panel2.add(new JButton("√"));
panel2.add(new JButton("="));
//----------------------------------------------------------------------------------------------//
JPanel panel3 =new JPanel(new BorderLayout());
panel3.add(panel1,BorderLayout.CENTER);
panel3.add(panel2,BorderLayout.EAST);
//----------------------------------------------------------------------------------------------//
JPanel panel4 =new JPanel(new BorderLayout());
panel4.add(panel3,BorderLayout.CENTER);
panel4.add(new JTextField("0"),BorderLayout.NORTH);
}
//----------------------------------------------------------------------------------------------//
public static void main(String[] args) {
week8_caculation frame=new week8_caculation();
frame.setTitle("计算器");
frame.setSize(400, 500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
这是我本人的代码,我不知道为什么我运行的时候结果是没有出现任何Button的,只出现了一个"计算器"的框架.就是说框架里面没有任何东西.检测代码也没有出现红色错误.我想问问我的代码有什么问题所在!求大神指点! 展开
4个回答
展开全部
首如果你需要显示按钮,你得将panel加到frame上,
week8_caculation类是继承了Frame类,
week8_caculation frame=new week8_caculation();这句话相当于实例了一个Frame对象,而并不是在这里将panel添加到frame上。
正确的方法应该是在构造函数中添加
this.add(panel4);
将panel4添加到frame上,这样才能显示出按钮。
如果不可以的话再设置this的visiable属性,就OK了。
week8_caculation类是继承了Frame类,
week8_caculation frame=new week8_caculation();这句话相当于实例了一个Frame对象,而并不是在这里将panel添加到frame上。
正确的方法应该是在构造函数中添加
this.add(panel4);
将panel4添加到frame上,这样才能显示出按钮。
如果不可以的话再设置this的visiable属性,就OK了。
展开全部
frame.setVisible(true);
在这句代码后面增加这样的代码
frame.add(panel4, BorderLayout.North);
frame.add(panel3);
在这句代码后面增加这样的代码
frame.add(panel4, BorderLayout.North);
frame.add(panel3);
追问
不行的,因为在主方法中panel是没有被定义的..你试下将我的代码复制到ecipse中去然后自己再添加你给我的答案你就发现是不行的..
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JPanel panel4 = new JPanel(new BorderLayout());
panel4.add(panel3, BorderLayout.CENTER);
panel4.add(new JTextField("0"), BorderLayout.NORTH);
this.add(panel4);
panel4.add(panel3, BorderLayout.CENTER);
panel4.add(new JTextField("0"), BorderLayout.NORTH);
this.add(panel4);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
= = 你倒是把panel加到frame上啊.
更多追问追答
追问
week8_caculation frame=new week8_caculation();这句不是么?
这句已经将week8_caculation这个类中的所有功能都创建在frame中啦.....
如果按你的说话代码应该怎么写??
追答
= = 你在逗我么...new Frame只是实例化了而已...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询