import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class PhoneDemo1 extends JFrame implements ActionListener{ private JButton [] jbAry = {new JButton("1"),new JButton("2"),new JButton("3"), new JButton("4"),new JButton("5"),new JButton("6"), new JButton("7"),new JButton("8"),new JButton("9"), new JButton("*"),new JButton("0"),new JButton("#"), new JButton("清空"),new JButton("Space"),new JButton("确认"), }; private JTextArea ta = new JTextArea(6,6);; private JLabel jl = new JLabel(); private JScrollPane jsp=new JScrollPane(ta, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); private String strContent; private StringBuilder sb = new StringBuilder(); public static void main(String args[]) { PhoneDemo1 that=new PhoneDemo1(); that.go(); } public void go() { this.setTitle("仿手机拨号界面学习"); Container contentPane=this.getContentPane(); this.ta.setEditable(false); jl.setLayout(new GridLayout(5,3)); for(int i=0; i<jbAry.length; i++){ this.jl.add(this.jbAry[i]); this.jbAry[i].addActionListener(this); } contentPane.setLayout(new GridLayout(2,1)); contentPane.add(jl); Border etched=BorderFactory.createEtchedBorder(); Border border=BorderFactory.createTitledBorder(etched,"X"); jl.setBorder(border); Border border1=BorderFactory.createTitledBorder(etched,"B"); ta.setBorder(border1); ta.setBackground(Color.PINK); Font font=new Font("SansSerif",Font.BOLD+Font.ITALIC,36); ta.setFont(font); ta.setForeground(Color.WHITE); contentPane.add(jsp); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(500,430); this.setVisible(true); } public void actionPerformed(ActionEvent e) { String str = ((JButton)e.getSource()).getText().trim(); if(str.length() == 1){ sb.append(str); this.strContent = sb.toString(); this.ta.setText(""); this.ta.setText(this.strContent); } else if("清空".equals(str)){ this.ta.setText(""); this.sb.delete(0, sb.length()); } else if("Space".equals(str)){ sb.append(" "); this.strContent = sb.toString(); this.ta.setText(""); this.ta.setText(this.strContent); } else if("确认".equals(str)){ this.ta.setText(""); this.sb.delete(0, sb.length()); this.ta.setText("拨打" + this.strContent); } } }