package JFrameJApplet;
import java.awt.Color;
import java.io.*;
import javax.swing.*;
/* swing中的对话框
* JOptionaPane对话框的使用
* 方法
* ShowMessageDialog; 显示消息对话框
* ShowInputDialog 提示输入对话框
* showConfirmDialog 确认对话框
* showOptionDialog 选项对话框
* static int showConfirmDialog(Componet parentComponent,Object message,String title,int optionType
* int messageType,Icon icon,Object message,Object initalValue);
* (父窗体,消息内容,标题,消息类型,显示图标,可选值,初始值)
* 消息类型有:ERROR_MESSAGE(错误消息),INFORMATION_MESSAGE(信息);WARNING_MESSAGE(警告消息);QUESTION_MESSAGE(询问消息)
* PLAIN_MESSAGE(一般消息)
*
*
* */
public class PascalTrangle {
public static void main(String args[]){
String no,output=”“;
int n;
no=JOptionPane.showInputDialog(“输入一个数字”);
n=Integer.parseInt(no);
for(int i=0;i<=n;i++){
for(int j=0;j<=i;j++){
output+=c(i,j)+”“;
}
output+=”\n”;
}
JTextArea outArea=new JTextArea(5,20);
JScrollPane scroll=new JScrollPane(outArea);//将文本区域变为可滚动区域
//要实现部件的滚动,必须将部件加入到JScrollPane容器中.然后再将JScrollPane容器对象加入到应用容器中
Color color=JColorChooser.showDialog(null, "选择颜色",Color.blue);//弹出对话框选择颜色,返回设定的颜色的值
outArea.setBackground(color);//给文本区域设置背景颜色
//scroll.setBackground(color);//给设置的滚动条添加背景无效
outArea.setText(output);//将文本写入文本区域
/* 文件选择对话框
* JFileChooser();创建一个指向用户默认目录的JFileChooser对象
* JFileChooser();创建一个JFileChooser对象指向参数所指目录
* 常用方法:
* int showOpenDialog(Compoment parent)显示文本选择对话框。它是用JFileChooser对象选取文件必须用到的方法
* File getSelectFile();返回一个选中的文件对象
* File getSelectFiles();返回选中的若干文件,此前要设置支持多选
*
* void setMultiSelectionEnable(booleab b):设置是否支持选择多个文件
* */
JFileChooser f=new JFileChooser();//创建一个指向用户默认目录的JFileChooser对象
f.setMultiSelectionEnabled(true);//设置支持选择多个文件
f.showOpenDialog(null);//显示文本选择对话框
File ff=f.getSelectedFile();//返回一个选中的文件对象
//读取返回文件的内容,使用时必须加上异常处理
try{
FileReader fr=new FileReader(ff);
LineNumberReader in=new LineNumberReader(fr);
boolean eof=false;
while(!eof){
String x=in.readLine();
if(x==null)
eof=true;
else
System.out.println(in.getLineNumber()+":"+x);
}
}catch(IOException e){}
JOptionPane.showMessageDialog(null, scroll,"杨辉三角形",JOptionPane.INFORMATION_MESSAGE);//显示消息对话框
//null默认为父窗体的中间,
System.exit(0);
}
static int fac(int n){
int r=1;
for(int k=2;k<=n;k++){
r=r*k;
}
return r;
}
static int c(int n,int m){
return fac(n)/(fac(m)*fac(n-m));
}
}