由于上个帖子联系不到回复者,我重新发帖,以便回复者看到帮我,这个java程序你把代码复制下来就知道怎么补全代码了,帮我写个完整的我会给你们分的,在这里非常感谢了。
// Phone.java
// Creates the cell phone GUI.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;public class Phone extends JFrame
{
   private JLabel displayJLabel;
   private JPanel numberJPanel;
   private JButton oneJButton, twoJButton, threeJButton, 
      fourJButton, fiveJButton, sixJButton, sevenJButton, 
      eightJButton, nineJButton, starJButton, zeroJButton, 
      poundJButton, talkJButton, endJButton;
   
   // no-argument constructor
   public Phone()
   {
      createUserInterface();
   }
   
   // create and position GUI components
   private void createUserInterface()
   {
      // get content pane and set its layout
      Container contentPane = getContentPane();
      contentPane.setLayout( null );
      
      // set up displayJLabel
      displayJLabel = new JLabel();
      displayJLabel.setText( "Deitel Wireless" );
      displayJLabel.setBounds( 10, 10, 170, 100 );
      displayJLabel.setBorder( new LineBorder( Color.BLACK ) );
      displayJLabel.setHorizontalAlignment( JLabel.CENTER );
      displayJLabel.setBackground( Color.CYAN );
      displayJLabel.setOpaque( true );
      contentPane.add( displayJLabel );
      
      // set up talkJButton
      talkJButton = new JButton();
      talkJButton.setText( "TALK" );
      talkJButton.setBounds( 10, 120, 80, 30 );
      contentPane.add( talkJButton );
      
      // set up endJButton
      endJButton = new JButton();
      endJButton.setText( "END" );
      endJButton.setBounds( 100, 120, 80, 30 );
      contentPane.add( endJButton );
      
      // set up numberJPanel
      numberJPanel = new JPanel();
      numberJPanel.setBounds( 10, 160, 60, 110 );
      numberJPanel.setBorder( new LineBorder( Color.BLACK ) );
      numberJPanel.setLayout( null );
      contentPane.add( numberJPanel );
      
      // set up oneJButton
      oneJButton = new JButton();
      oneJButton.setText( "1" );
      oneJButton.setBounds( 5, 5, 50, 30 );
      numberJPanel.add( oneJButton );
      
      // set up twoJButton
      twoJButton = new JButton();
      twoJButton.setText( "2" );
      twoJButton.setBounds( 5, 5, 50, 30 );
      numberJPanel.add( twoJButton );
      
      // set up threeJButton
      threeJButton = new JButton();
      threeJButton.setText( "3" );
      threeJButton.setBounds( 5, 5, 50, 30 );
      numberJPanel.add( threeJButton );
      
      // set up fourJButton
      fourJButton = new JButton();
      fourJButton.setText( "4" );
      fourJButton.setBounds( 5, 40, 50, 30 );
      numberJPanel.add( fourJButton );
      
      // set up fiveJButton
      fiveJButton = new JButton();
      fiveJButton.setText( "5" );
      fiveJButton.setBounds( 5, 40, 50, 30 );
      numberJPanel.add( fiveJButton );
      
      // set up sixJButton
      sixJButton = new JButton();
      sixJButton.setText( "6" );
      sixJButton.setBounds( 5, 40, 50, 30 );
      numberJPanel.add( sixJButton );
      
      // set up sevenJButton
      sevenJButton = new JButton();
      sevenJButton.setText( "7" );
      sevenJButton.setBounds( 5, 75, 50, 30 );
      numberJPanel.add( sevenJButton );
      
      // set up eightJButton
      eightJButton = new JButton();
      eightJButton.setText( "8" );
      eightJButton.setBounds( 5, 75, 50, 30 );
      numberJPanel.add( eightJButton );
      
      // set up nineJButton
      nineJButton = new JButton();
      nineJButton.setText( "9" );
      nineJButton.setBounds( 5, 75, 50, 30 );
      numberJPanel.add( nineJButton );
      
      // set up starJButton
      starJButton = new JButton();
      starJButton.setText( "*" );
      starJButton.setBounds( 5, 110, 50, 30 );
      numberJPanel.add( starJButton );
      
      // set up zeroJButton
      zeroJButton = new JButton();
      zeroJButton.setText( "0" );
      zeroJButton.setBounds( 5, 110, 50, 30 );
      numberJPanel.add( zeroJButton );
      
      // set up poundJButton
      poundJButton = new JButton();
      poundJButton.setText( "#" );
      poundJButton.setBounds( 5, 110, 50, 30 );
      numberJPanel.add( poundJButton );
      
      // set properties of application's window
      setTitle( "Phone" ); // set title bar text
      setSize( 198, 345 ); // set window size
      setVisible( true );  // display window
      
   } // end method createUserInterface
   
   // main method
   public static void main( String[] args ) 
   {
      Phone application = new Phone();
      application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );   } // end method main} // end class PhoneJava应用Stringcomponents

解决方案 »

  1.   

          numberJPanel = new JPanel();
          numberJPanel.setBounds( 10, 160, 160 /* 宽度 这里自己算下大小*/, 110 );
          numberJPanel.setBorder( new LineBorder( Color.BLACK ) );
          numberJPanel.setLayout( new GridLayout( 4, 3) ); // 4行3列
    即可
      

  2.   

    程序已经写好了,我分两次发给大家看下,因为一次发不完。import java.awt.*;
    import java.awt.event.*;import javax.swing.*;
    import javax.swing.border.*;
    public class Phone
        extends JFrame
    {    private JLabel displayJLabel;    private JPanel numberJPanel;    private JButton oneJButton, twoJButton, threeJButton, fourJButton, fiveJButton, sixJButton,
            sevenJButton, eightJButton, nineJButton, starJButton, zeroJButton, poundJButton,
            talkJButton, endJButton;    // no-argument constructor
        public Phone()
        {
            createUserInterface();
        }    // create and position GUI components
        private void createUserInterface()
        {
            // get content pane and set its layout
            Container contentPane = getContentPane();
            contentPane.setLayout(null);        // set up displayJLabel
            displayJLabel = new JLabel();
            displayJLabel.setText("Deitel Wireless");
            displayJLabel.setBounds(10, 10, 170, 100);
            displayJLabel.setBorder(new LineBorder(Color.BLACK));
            displayJLabel.setHorizontalAlignment(JLabel.CENTER);
            displayJLabel.setBackground(Color.CYAN);
            displayJLabel.setOpaque(true);
            contentPane.add(displayJLabel);        // set up talkJButton
            talkJButton = new JButton();
            talkJButton.setText("TALK");
            talkJButton.setBounds(10, 120, 80, 30);
            contentPane.add(talkJButton);        // set up endJButton
            endJButton = new JButton();
            endJButton.setText("END");
            endJButton.setBounds(100, 120, 80, 30);
            contentPane.add(endJButton);        // set up numberJPanel
            numberJPanel = new JPanel();
            numberJPanel.setBounds(10, 160, 150, 150);
            numberJPanel.setBorder(new LineBorder(Color.BLACK));
            numberJPanel.setLayout(new GridLayout(4, 3));
            contentPane.add(numberJPanel);        // set up oneJButton
            oneJButton = new JButton();
            oneJButton.setText("1");
            oneJButton.addMouseListener(new MouseListener()
            {            public void mouseClicked(MouseEvent e)
                {
                    String temp = displayJLabel.getText();
                    if ("Deitel Wireless".equals(temp))
                    {
                        displayJLabel.setText("1");
                    }
                    else
                    {
                        displayJLabel.setText(temp + "1");
                    }
                }            public void mouseEntered(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseExited(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mousePressed(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseReleased(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }
            });
            oneJButton.setBounds(5, 5, 50, 30);
            numberJPanel.add(oneJButton);        // set up twoJButton
            twoJButton = new JButton();
            twoJButton.setText("2");
            twoJButton.addMouseListener(new MouseListener()
            {            public void mouseClicked(MouseEvent e)
                {
                    String temp = displayJLabel.getText();
                    if ("Deitel Wireless".equals(temp))
                    {
                        displayJLabel.setText("2");
                    }
                    else
                    {
                        displayJLabel.setText(temp + "2");
                    }
                }            public void mouseEntered(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseExited(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mousePressed(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseReleased(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }
            });
            twoJButton.setBounds(5, 5, 50, 30);
            numberJPanel.add(twoJButton);        // set up threeJButton
            threeJButton = new JButton();
            threeJButton.setText("3");
            threeJButton.addMouseListener(new MouseListener()
            {            public void mouseClicked(MouseEvent e)
                {
                    String temp = displayJLabel.getText();
                    if ("Deitel Wireless".equals(temp))
                    {
                        displayJLabel.setText("3");
                    }
                    else
                    {
                        displayJLabel.setText(temp + "3");
                    }
                }            public void mouseEntered(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseExited(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mousePressed(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseReleased(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }
            });
            threeJButton.setBounds(5, 5, 50, 30);
            numberJPanel.add(threeJButton);        // set up fourJButton
            fourJButton = new JButton();
            fourJButton.setText("4");
            fourJButton.addMouseListener(new MouseListener()
            {            public void mouseClicked(MouseEvent e)
                {
                    String temp = displayJLabel.getText();
                    if ("Deitel Wireless".equals(temp))
                    {
                        displayJLabel.setText("4");
                    }
                    else
                    {
                        displayJLabel.setText(temp + "4");
                    }
                }            public void mouseEntered(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseExited(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mousePressed(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseReleased(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }
            });
            fourJButton.setBounds(5, 40, 50, 30);
            numberJPanel.add(fourJButton);        // set up fiveJButton
            fiveJButton = new JButton();
            fiveJButton.setText("5");
            fiveJButton.setBounds(5, 40, 50, 30);
            fiveJButton.addMouseListener(new MouseListener()
            {            public void mouseClicked(MouseEvent e)
                {
                    String temp = displayJLabel.getText();
                    if ("Deitel Wireless".equals(temp))
                    {
                        displayJLabel.setText("5");
                    }
                    else
                    {
                        displayJLabel.setText(temp + "5");
                    }
                }            public void mouseEntered(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseExited(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mousePressed(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }            public void mouseReleased(MouseEvent e)
                {
                    // TODO Auto-generated method stub            }
            });
            numberJPanel.add(fiveJButton);        // set up sixJButton
      

  3.   

    大哥,你不觉得,你那么多个Listener,除了对应的数字不一样,其他代码一模一样?
    提取成一个类吧,不同的数字作为成员变量,通过构造函数或者set方法设置过去