返回列表 發帖

[作業] 基本佈局

本帖最後由 tonyh 於 2016-1-30 16:50 編輯

試做出如下之圖形使用者介面:
(完成左圖即可,右圖為下個單元加上事件處理後運作的情形.)

         
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;
  5. public class Ch81 {
  6.        
  7.         private JFrame fm;
  8.         private JLabel lb1, lb2;
  9.         private JTextField tf1, tf2;
  10.         private JButton btn1, btn2;
  11.        
  12.         Ch81()
  13.         {
  14.                 lb1=new JLabel("1坪=3.3058平方公尺",JLabel.CENTER);
  15.                 lb1.setBounds(0, 10, 215, 30);
  16.                 lb2=new JLabel("輸入坪數:");
  17.                 lb2.setBounds(10, 40, 60, 40);
  18.                
  19.                 tf1=new JTextField();
  20.                 tf1.setBounds(70, 45, 134, 30);
  21.                 tf2=new JTextField();
  22.                 tf2.setBounds(10, 85, 195, 40);
  23.                 tf2.setEditable(false);
  24.                
  25.                 btn1=new JButton("確定");
  26.                 btn1.setBounds(10, 135, 92, 25);
  27.                 btn2=new JButton("清除");
  28.                 btn2.setBounds(112, 135, 92, 25);
  29.                
  30.                 fm=new JFrame("土地面積計算");
  31.                 fm.setBounds(100, 100, 220, 200);
  32.                 fm.setVisible(true);
  33.                 fm.setResizable(false);
  34.                 fm.setLayout(null);
  35.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36.                 fm.add(lb1);
  37.                 fm.add(lb2);
  38.                 fm.add(tf1);
  39.                 fm.add(tf2);
  40.                 fm.add(btn1);
  41.                 fm.add(btn2);
  42.         }

  43.         public static void main(String[] args) {
  44.                 Ch81 app=new Ch81();
  45.         }

  46. }
複製代碼

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;
  5. public class A77
  6. {

  7.         public static void main(String[] args)
  8.         {
  9.                 JLabel lb1=new JLabel("一坪=3.3058公尺",JLabel.CENTER);
  10.                 JLabel lb2=new JLabel("輸入坪數:");
  11.                 lb1.setBounds(10,10,175,30);
  12.                 lb2.setBounds(10,40,90,30);
  13.                
  14.                 JTextField tf1=new JTextField();
  15.                 JTextField tf2=new  JTextField();
  16.                 tf1.setBounds(70,40,120,30);
  17.                 tf2.setBounds(10,80,175,40);
  18.                 tf2.setEditable(false);
  19.                
  20.                 JButton btn1=new JButton("確定");
  21.                 JButton btn2=new JButton("清除");
  22.                 btn1.setBounds(10,130,90,30);
  23.                 btn2.setBounds(100,130,90,30);
  24.                
  25.                
  26.                 JFrame fm=new JFrame("土地面積計算");
  27.                 fm.setBounds(100,100,200,200);
  28.                 fm.setVisible(true);
  29.                 fm.setResizable(false);
  30.                 fm.setLayout(null);
  31.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  32.                 fm.add(lb1);
  33.                 fm.add(lb2);
  34.                 fm.add(tf1);
  35.                 fm.add(tf2);
  36.                 fm.add(btn1);
  37.                 fm.add(btn2);
  38.         }

  39. }
複製代碼

TOP

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;
  5. public class Ch81 {
  6.    
  7.         private JFrame fm;
  8.     private JLabel lb1,lb2;
  9.     private JTextField tf1,tf2;
  10.     private JButton btn1,btn2;
  11.    
  12.     Ch81()
  13.     {
  14.         fm=new JFrame("土地面積換算");
  15.         fm.setBounds(100, 100, 220, 200);
  16.         fm.setVisible(true);
  17.         fm.setResizable(false);
  18.         fm.setLayout(null);
  19.         fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  20.         
  21.         lb1=new JLabel("1坪=3.3058平方公尺",JLabel.CENTER);
  22.         lb2=new JLabel("輸入坪數:");
  23.         lb1.setBounds(5,15,200,20);
  24.         lb2.setBounds(10,45,70,20);
  25.         
  26.         tf1=new JTextField();
  27.             tf2=new JTextField();
  28.             tf1.setBounds(70,38,135,30);
  29.         tf2.setBounds(10,80,195,45);
  30.         tf2.setEditable(false);
  31.         
  32.             btn1=new JButton("確定");
  33.             btn2=new JButton("清除");   
  34.         btn1.setBounds(10,140,92,25);
  35.         btn2.setBounds(111,140,92,25);
  36.         
  37.         fm.add(lb1);
  38.         fm.add(lb2);
  39.         fm.add(tf1);
  40.         fm.add(tf2);
  41.         fm.add(btn1);
  42.         fm.add(btn2);                             
  43.     }
  44.         public static void main(String[] args) {
  45.             Ch81 app=new Ch81();       

  46.         }

  47. }
複製代碼

TOP

  1. package ch6666;

  2. import javax.swing.JFrame;
  3. import javax.swing.JLabel;
  4. import javax.swing.JTextField;
  5. import javax.swing.JButton;
  6. public class ch6666 {
  7.         
  8.         private JFrame fm;
  9.         private JLabel lb1, lb2;
  10.         private JTextField tf1, tf2;
  11.         private JButton btn1, btn2;
  12.         
  13.         ch6666()
  14.         {
  15.                 lb1=new JLabel("1坪=3.3058平方公尺",JLabel.CENTER);
  16.                 lb1.setBounds(0, 10, 215, 30);
  17.                 lb2=new JLabel("輸入坪數:");
  18.                 lb2.setBounds(10, 40, 60, 40);
  19.                
  20.                 tf1=new JTextField();
  21.                 tf1.setBounds(70, 45, 134, 30);
  22.                 tf2=new JTextField();
  23.                 tf2.setBounds(10, 85, 195, 40);
  24.                 tf2.setEditable(false);
  25.                
  26.                 btn1=new JButton("確定");
  27.                 btn1.setBounds(10, 135, 92, 25);
  28.                 btn2=new JButton("清除");
  29.                 btn2.setBounds(112, 135, 92, 25);
  30.                
  31.                 fm=new JFrame("土地面積計算");
  32.                 fm.setBounds(100, 100, 220, 200);
  33.                 fm.setVisible(true);
  34.                 fm.setResizable(false);
  35.                 fm.setLayout(null);
  36.                 fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  37.                 fm.add(lb1);
  38.                 fm.add(lb2);
  39.                 fm.add(tf1);
  40.                 fm.add(tf2);
  41.                 fm.add(btn1);
  42.                 fm.add(btn2);
  43.         }

  44.         public static void main(String[] args) {
  45.                 ch6666 app=new ch6666();
  46.         }

  47. }
複製代碼

TOP

  1. import javax.swing.*;
  2. import java.awt.event.*;
  3. public class Ch81 implements ActionListener
  4. {
  5.     JFrame f;
  6.     JButton clear,ok;
  7.     JLabel l1,l2;
  8.     JTextField in,out;
  9.     Ch81()
  10.     {
  11.         f=new JFrame("A\u05a4\u0201");
  12.         f.setVisible(true);
  13.         f.setBounds(100,100,300,300);
  14.         f.setLayout(null);
  15.         f.setResizable(false);
  16.         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  17.         /***********************************************/
  18.         l1=new JLabel("1坪=3.3058平方公尺",JLabel.CENTER);
  19.         l1.setBounds(0,0,294,30);
  20.         /***********************************************/
  21.         l2=new JLabel("輸入坪數:");
  22.         l2.setBounds(10,40,90,30);
  23.         /***********************************************/
  24.         in=new JTextField();
  25.         in.setBounds(80,40,200,30);

  26.         out=new JTextField();
  27.         out.setBounds(10,80,280,60);
  28.         out.setEditable(false);
  29.         /***********************************************/
  30.         ok=new JButton("確定");
  31.         ok.setBounds(10,150,100,30);
  32.         ok.addActionListener(this);

  33.         clear=new JButton("清除");
  34.         clear.setBounds(190,150,100,30);
  35.         clear.addActionListener(this);
  36.         /***********************************************/
  37.         f.add(l1);
  38.         f.add(l2);
  39.         f.add(in);
  40.         f.add(out);
  41.         f.add(ok);
  42.         f.add(clear);
  43.     }
  44.     public static void main(String args[])
  45.     {
  46.         new Ch81();
  47.     }
  48.     public void actionPerformed(ActionEvent e)
  49.     {
  50.         double n=0;
  51.         if(e.getSource()==ok)
  52.         {
  53.             n=Integer.parseInt(in.getText());
  54.             out.setText("面積為:"+(n*3.3058)+"平方公尺");
  55.         }
  56.         else
  57.         {
  58.             in.setText("");
  59.             out.setText("");
  60.         }
  61.     }
  62. }
複製代碼

TOP

本帖最後由 張峻瑋 於 2016-1-30 17:43 編輯
  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JTextField;
  4. import javax.swing.JButton;

  5. import java.awt.event.ActionListener;
  6. import java.awt.event.ActionEvent;
  7. public class Ch81 implements ActionListener{
  8.    
  9.     private JFrame fm;
  10.     private JLabel lb1,lb2;
  11.     private JTextField tf1,tf2;
  12.     private JButton btn1,btn2;
  13.    
  14.     Ch81()
  15.     {
  16.         fm=new JFrame("土地面積換算");
  17.         fm.setBounds(100, 100, 220, 200);
  18.         fm.setVisible(true);
  19.         fm.setResizable(false);
  20.         fm.setLayout(null);
  21.         fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  22.         
  23.         lb1=new JLabel("1坪=3.3058平方公尺",JLabel.CENTER);
  24.         lb2=new JLabel("輸入坪數:");
  25.         lb1.setBounds(5,15,200,20);
  26.         lb2.setBounds(10,45,70,20);
  27.         
  28.         tf1=new JTextField();
  29.         tf2=new JTextField();
  30.         tf1.setBounds(70,38,135,30);
  31.         tf2.setBounds(10,80,195,45);
  32.         tf2.setEditable(false);
  33.         tf1.addActionListener(this);
  34.         
  35.         btn1=new JButton("確定");
  36.         btn2=new JButton("清除");   
  37.         btn1.setBounds(10,140,92,25);
  38.         btn2.setBounds(111,140,92,25);
  39.         btn1.addActionListener(this);
  40.         btn2.addActionListener(this);
  41.         
  42.         fm.add(lb1);
  43.         fm.add(lb2);
  44.         fm.add(tf1);
  45.         fm.add(tf2);
  46.         fm.add(btn1);
  47.         fm.add(btn2);                             
  48.     }
  49.     public void actionPerformed(ActionEvent e)
  50.     {
  51.             if(e.getSource()==tf1 || e.getSource()==btn1)
  52.             {
  53.                     double area=Double.parseDouble(tf1.getText())*3.3058;
  54.                     tf2.setText("面積為"+area+"平方公尺");
  55.             }
  56.             if(e.getSource()==btn2)
  57.             {
  58.                     tf1.setText("");
  59.                     tf2.setText("");
  60.             }
  61.         }
  62.         public static void main(String[] args) {
  63.             Ch81 app=new Ch81();       

  64.         }

  65. }
複製代碼

TOP

本帖最後由 李允軒 於 2016-1-30 16:53 編輯
  1. import javax.swing.*;
  2. public class Ch80 {
  3.         private JFrame fm1;
  4.         private JLabel lb1, lb2;
  5.         private JTextField tf3, tf2;
  6.         private JButton bt1, bt2;
  7.         Ch80(){
  8.                 fm1=new JFrame("土地面積運算");
  9.         lb1=new JLabel("1坪=3.3058平方公尺",JLabel.CENTER);
  10.         lb2=new JLabel("輸入坪數:");
  11.         tf3=new JTextField();
  12.         tf2=new JTextField();
  13.         bt1=new JButton("確定");
  14.         bt2=new JButton("清除");
  15.         
  16.         bt1.setBounds(10,135,93,25);
  17.         bt2.setBounds(113,135,93,25);
  18.         
  19.         tf2.setBounds(70, 50, 135, 30);
  20.         tf3.setBounds(10, 85, 194, 40);
  21.         tf3.setEditable(false);
  22.         
  23.         lb1.setBounds(10, 10, 195, 30);
  24.         lb2.setBounds(10, 50, 55, 30);
  25.         
  26.         fm1.setBounds(100, 100, 221, 200);
  27.         fm1.setVisible(true);
  28.         fm1.setResizable(false);
  29.         fm1.setLayout(null);
  30.         fm1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  31.         fm1.add(lb1);
  32.         fm1.add(lb2);
  33.         fm1.add(bt1);
  34.         fm1.add(bt2);
  35.         fm1.add(tf2);
  36.         fm1.add(tf3);
  37.         }
  38.         public static void main(String[] args) {
  39.                 Ch80 app=new Ch80();
  40.         }
  41. }
複製代碼
كخخخخخخخخخخخخخ

TOP

返回列表