亲,java的界面不太受欢迎哦~~大概按你要求做了,看看吧~~
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class yoyo extends JFrame{
public static void main(String[] args){
yoyo yo=new yoyo();
yo.show();
}
public yoyo(){
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置退出时结束程序
setTitle("计算阶层和");
setSize(400, 250);
setLocation(100, 100);//坐标
//把控件实例化
final JEditorPane edit=new JEditorPane();
final JButton button=new JButton("计算和");
final JTextArea area=new JTextArea(null, "", 8, 18);
JPanel myPanel1=new JPanel();//这个是第一行的布局
myPanel1.add(new JLabel("请输入整数n:"),BorderLayout.WEST);
myPanel1.add(edit,BorderLayout.CENTER);
myPanel1.add(button,BorderLayout.EAST);
JPanel myPanel2=new JPanel();//这个是第二行的布局
myPanel2.add(new JLabel("1至n的阶乘和是:"),BorderLayout.WEST);
myPanel2.add(area);
//把上面的布局加入画布中
this.add(myPanel1,BorderLayout.NORTH);
this.add(myPanel2,BorderLayout.CENTER);
//上面已经把界面做出来了,接下来监听按钮
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int n=Integer.valueOf(edit.getText());//得到edit里的值n
int result=0;
for(int i=1;i<=n;i++){
int a=1;
for(int j=1;j<=i;j++){
a*=j;
}
result+=a;
}
area.setText(result+"");
}
});
}
}
下面效果图:
要完整的程序啊,使用了哪些Swing中的组件?
事件处理方法??
帮帮忙 我是菜鸟 马上要交了
按钮注册监听器的语句,使用了哪些Swing中的组件?事件处理方法??
帮帮忙 我是菜鸟 马上要交了请完善后立马采纳并加200分,速度
我要完整的程序,最好附运行结果图,再加100分
追答public int sumI(Integer i,Integer j){
j=j-1;
i=i*j;
if(j!=1){
i=sumI(i,j);
}
return i;
}
这个是算法方法,我不用swing,所以不能给你写出来了
传入的两个值就是你题目中的N,都是N
比如10的就都写10
但是100的阶乘太大了,59是最大的了,再大就算不了了