import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Unit17Table { /** * @param args */ public static void main(String[] args) { WinTable win=new WinTable(); } } class WinTable extends JFrame implements ActionListener{ JTable table; Object a[][]; Object name[]={"姓名","英语成绩","数学成绩","总成绩"}; JButton button; public WinTable() { a=new Object[8][4]; for(int i=0;i<8;i++) { for(int j=0;j>4;j++) { if(j!=0) { a[i][j]="0"; } else a[i][j]="姓名"; } } button=new JButton("计算每人总成绩"); table=new JTable(a,name); button.addActionListener(this); Container con=getContentPane(); getContentPane().add(new JScrollPane(table),BorderLayout.CENTER); con.add(new JLabel("修改或录入数据后,需按enter键确认"),BorderLayout.SOUTH); con.add(button,BorderLayout.SOUTH); setSize(200,200); setVisible(true); validate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent arg0) { for(int i=0;i<8;i++) { double sum=0; boolean boo=true; for(int j=1;j<=2;j++) { try { sum=sum+Double.parseDouble(a[i][j].toString()); } catch(Exception afe){boo=false;table.repaint();} if(boo=true) { a[i][3]=""+sum; table.repaint(); } } } } } import javax.swing.*; import java.awt.*; public class Unit17_7 { /** * @param args */ public static void main(String[] args) { BarWin win=new BarWin(); win.thread1.start(); win.thread2.start(); } } class BarWin extends JFrame implements Runnable { JProgressBar pbar1,pbar2; Thread thread1,thread2; JTextField text1,text2; BarWin(){ pbar1=new JProgressBar(0,100); pbar2=new JProgressBar(0,100); pbar1.setStringPainted(true); pbar2.setStringPainted(true); text1=new JTextField(10); text2=new JTextField(10); thread1=new Thread(this); thread2=new Thread(this); Container con=getContentPane(); con.setLayout(new FlowLayout()); con.add(pbar1); con.add(text1); con.add(pbar2); con.add(text2); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(10,10,300,300); setVisible(true); validate(); } public void run() { if(Thread.currentThread()==thread1) { for(int i=1;i<100;i++) { text1.setText("第"+i+"项="+f(i)); pbar1.setValue(i); try{Thread.sleep(100);} catch(Exception eThread1){} } } if(Thread.currentThread()==thread2) { long a1=1,a2=2,a=a1; int i=1; while(i<=100) { if(i>=3) { a=a1+a2; a1=a2; a2=a; } text2.setText("第"+i+"项="+a); pbar2.setValue(i); i++; try{Thread.sleep(100);} catch(Exception eThread1){} } } } long f(int n){ long c=0; if(n==1||n==2) c=1; else if(n>1) c=f(n-1)+f(n-2); return c; } }