Java 小案例 用List集合傳遞學生資訊
阿新 • • 發佈:2018-11-21
import java.awt.BorderLayout; import java.awt.EventQueue; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.table.DefaultTableModel; import javax.swing.JScrollPane; import javax.swing.UIManager; import javax.swing.JTable; public class ClassInfo extends JFrame{ private JPanel contentPane; private JTable table; //launch the application public static void main(String[] args){ try{ UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); }catch(Throwable e){ e.printStackTrace(); } EventQueue.invokeLater(new Runnable(){ public void run(){ try{ ClassInfo frame = new ClassInfo(); frame.setVisible(true); }catch(Exception e){ e.printStackTrace(); } } }); } public ClassInfo(){ setTitle("用List集合傳遞學生資訊"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,392,223); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(10,10,10,10)); contentPane.setLayout(new BorderLayout(0,0)); setContentPane(contentPane); JScrollPane scrollPane = new JScrollPane(); contentPane.add(scrollPane,BorderLayout.CENTER); scrollPane.setViewportView(getTable()); //設定顯示在scrollPane中的內容 } private JTable getTable(){ if(table == null){ table = new JTable(); table.setRowHeight(23); //設定行高度 String[] columns = {"姓名","年齡","成績"}; //建立列名陣列 DefaultTableModel model = new DefaultTableModel(columns,0); table.setModel(model); //設定表格模型 List<String> students = getStudents(); for(String info : students){ String[] args = info.split(","); //把學生資訊拆分為陣列 model.addRow(args); } } return table; } private List<String> getStudents(){ List<String> list = new ArrayList<String>(); list.add("elisa,23,68"); list.add("xiaowang,22,74"); list.add("xiaoli,10,80"); list.add("xiaorong,18,90"); list.add("xiaobaby,16,100"); list.add("elisa,23,68"); list.add("xiaowang,22,74"); list.add("xiaoli,10,80"); list.add("xiaorong,18,90"); list.add("xiaobaby,16,100"); return list; } }