package daima; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class table implements ActionListener { int i=1; JFrame f; JPanel p; JButton b; JLabel l1,l2,l3,l4,l5,l6,l7,l8,l9,l10; JTextField t1; JTextArea a; //文本區 ButtonGroup group; //按鈕組 (把按鈕綁在一塊兒,使其只能選擇一個) JRadioButton r1,r2; //單選按鈕 JCheckBox ch1,ch2,ch3; //複選框 JComboBox cb; //選擇框 GridLayout gl; //網格佈局 String title[]= {"湖南","湖北","浙江","北京","雲南","上海","廣東"}; public table() { f=new JFrame("信息錄入"); p=new JPanel(); b=new JButton("肯定"); b.addActionListener(this); //對按鈕加監聽 l1=new JLabel("姓名:"); l2=new JLabel(); l3=new JLabel(); l4=new JLabel("性別:"); l5=new JLabel(); l6=new JLabel("愛好:"); l7=new JLabel("籍貫:"); l8=new JLabel(); l9=new JLabel(); l10=new JLabel(); t1=new JTextField(5); a=new JTextArea(); group=new ButtonGroup(); r1=new JRadioButton("男",true); //構造方法JRadioButton(String ,boolean) 前者表示按鈕名稱,或者表示默認按鈕是否被選中 r1.addActionListener(this); r2=new JRadioButton("女"); //構造方法JRadioButton(String) r2.addActionListener(this); //對單選按鈕加監聽 ch1=new JCheckBox("體育"); //構造方法JCheckBox(String) 參數表示按鈕的名稱 ch1.addActionListener(this); ch2=new JCheckBox("音樂"); ch2.addActionListener(this); ch3=new JCheckBox("美術"); ch3.addActionListener(this); //分別對複選按鈕加監聽 cb=new JComboBox(title); //選擇框 選項爲title字符串數組 gl=new GridLayout(5,3); //網格佈局設爲5行3列 p.setLayout(gl); //將面板默認的流佈局改成網格佈局 p.add(l1); p.add(t1); p.add(l2); p.add(l3); p.add(l4); p.add(r1); p.add(r2); group.add(r1); group.add(r2); //p.add() 括號裏放的應該是組件,而ButtonGroup不是組件,不能放到容器中。ButtonGroup只是一個做用域 p.add(l5); p.add(l6); p.add(ch1); p.add(ch2); p.add(ch3); p.add(l7); p.add(cb); p.add(l8); p.add(l9); p.add(l10); p.add(b); f.add(p,BorderLayout.NORTH); f.add(a,BorderLayout.CENTER); f.setSize(500,300); f.setVisible(true); //使窗口可見 a.setLineWrap(true); //表示自動換行 既當文字比控件的寬度還長時會自動換行 } public static void main(String[]args) { new table(); } @Override public void actionPerformed(ActionEvent e) { String w=a.getText(),s="",c1="",c2="",c3=""; if(r1.isSelected()) { s=r1.getText(); } if(r2.isSelected()) { //單選按鈕是類 AbstractButton的一個子類,方法isSelected() 返回按鈕的狀態 s=r2.getText(); } if(ch1.isSelected()) { c1=ch1.getText(); } if(ch2.isSelected()) { c2=ch2.getText(); } if(ch3.isSelected()) { c3=ch3.getText(); } if(e.getSource()==b) { //判斷是否選擇此按鈕 a.setText(w+"第"+i+"位學生的信息爲:"+"\n"+"姓名是:"+t1.getText()+" 性別是:"+s+" 愛好爲:"+c1+c2+c3+" 籍貫爲:"+cb.getSelectedItem()+"\n"); i++; //getSelectedItem() 表示獲取選擇框的內容 } }}
package daima; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class plusf implements ActionListener { JFrame f; JPanel p; JButton b1,b2; JLabel l1,l2,l3,l4; JTextField t1,t2,t3; GridLayout a; public plusf(){ f=new JFrame("加法器"); p=new JPanel(); b1=new JButton(" 求和"); b1.addActionListener(this); b2=new JButton(" 清除"); b2.addActionListener(this); l1=new JLabel(" 加數1"); l2=new JLabel(); l3=new JLabel(" 加數2"); l4=new JLabel(); t1=new JTextField(5); t2=new JTextField(5); t3=new JTextField(5); a=new GridLayout(3,3); p.setLayout(a); p.add(l1); p.add(t1); p.add(l2); p.add(l3); p.add(t2); p.add(l4); p.add(b1); p.add(t3); p.add(b2); f.add(p); f.setSize(500,200); f.setVisible(true); p.setBackground(Color.pink); b2.setBackground(Color.red); b1.setBackground(Color.blue); } public static void main(String[]args){ new plusf(); } public void actionPerformed(ActionEvent e) { //getSource()方法是區分響應的是哪個按鈕 if(e.getSource()==b1){ int n; int b=Integer.parseInt(t1.getText()); int c=Integer.parseInt(t2.getText()); n=c+b; t3.setText(n+""); //+是字符串鏈接符 } if(e.getSource()==b2){ t1.setText(""); t2.setText(""); t3.setText(""); } } }