一个按钮和菜单的例子阿,看看吧//TextControl.javaimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.border.*;
class JP 
extends JPanel
implements ActionListener//,ListSelectionListener
{
public JP()  
{
//对象定义区
jTF=new JTextField("文本输入区");
butSubmit=new JButton("提 交");
butReset=new JButton("取 消");

//添加监听器
butSubmit.addActionListener(this);
butReset.addActionListener(this);
//布局管理实现区
JPanel jPTemp=new JPanel();//获得面板对象 GridBagLayout gbl=new GridBagLayout();//生成网袋布局管理器实例 jPTemp.setLayout(gbl);//将面板的布局管理器设为网袋布局管理器 GridBagConstraints bgc=new GridBagConstraints();//生成布局管理器中管理布局的一个对象
//设置是否让组件伸缩并充满整个区域,便需要设置fill字段。
//共有四种有效形式GridBagConstraints.NONE 不伸缩,GridBagConstraints.HORIZONTAL 水平伸缩
//GridBagConstraints. VERTICAL 垂直方向伸缩,GridBagConstraints.BOTH 两个方向伸缩
bgc.fill=GridBagConstraints.NONE; //如果不想让一个组件充满整个区域,同时还可以指定它放在那个位置,它可以通过设置anchor字段来实现
//共有GridBagConstraints.CENTER 居中,GridBagConstraints.NORTH 居顶,等值可供选择.
bgc.anchor=GridBagConstraints.CENTER; bgc.gridx=0;
bgc.gridy=0;
bgc.gridwidth=2;
bgc.gridheight=1;
jPTemp.add(jTF,bgc); bgc.gridx=0;
bgc.gridy=1;
bgc.gridwidth=1;
bgc.gridheight=1;
jPTemp.add(butSubmit,bgc);

bgc.gridx=1;
bgc.gridy=1;
bgc.gridwidth=1;
bgc.gridheight=1;
jPTemp.add(butReset,bgc); add(jPTemp);

}

public void actionPerformed(ActionEvent mE)
{
Object source=mE.getSource();
if (source==butSubmit)
{
jTF.setText("提 交");
}
else if (source==butReset)
{
jTF.setText("取 消");
}
}
private JTextField jTF;
private JButton butSubmit;
private JButton butReset;
};class FrmTest
extends JFrame implements ActionListener

{
public FrmTest()
{
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){System.exit(0);}
});//利用内部类实现窗口监听接口的适配器类
setSize(150,90);
setLocation(300,300);
JMenu file=new JMenu("邮箱");
JMenuItem submitItem=new JMenuItem("登陆",new ImageIcon("denglu.gif"));
submitItem.addActionListener(this);

JMenuItem cancelItem=new JMenuItem("购买",new ImageIcon("goumai.gif"));
cancelItem.setHorizontalTextPosition(SwingConstants.LEFT);
cancelItem.addActionListener(this); file.add(submitItem);
file.add(cancelItem);
file.addSeparator(); jcbItem=new JCheckBoxMenuItem("选中",new ImageIcon("goumai.gif"));
jcbItem.setHorizontalTextPosition(SwingConstants.LEFT);
jcbItem.addActionListener(this); file.add(jcbItem);
/*file.addSeparator();
JMenu open=new JMenu("Open");
open.add("Local");
open.add("Web");
file.add(open);*/
JMenuBar jMB=new JMenuBar();
jMB.add(file); setJMenuBar(jMB);
//setResizable(false);
Container content=getContentPane();// content.add();
//对象定义区
jTF=new JTextField("文本输入区");
butSubmit=new JButton(new ImageIcon("denglu.gif"));
butSubmit.setActionCommand("登陆");
butReset=new JButton(new ImageIcon("goumai.gif"));
butReset.setActionCommand("购买");

//添加监听器
butSubmit.addActionListener(this);
butReset.addActionListener(this);
//布局管理实现区
JPanel jPTemp=new JPanel();//获得面板对象 GridBagLayout gbl=new GridBagLayout();//生成网袋布局管理器实例 jPTemp.setLayout(gbl);//将面板的布局管理器设为网袋布局管理器 GridBagConstraints bgc=new GridBagConstraints();//生成布局管理器中管理布局的一个对象
//设置是否让组件伸缩并充满整个区域,便需要设置fill字段。
//共有四种有效形式GridBagConstraints.NONE 不伸缩,GridBagConstraints.HORIZONTAL 水平伸缩
//GridBagConstraints. VERTICAL 垂直方向伸缩,GridBagConstraints.BOTH 两个方向伸缩
bgc.fill=GridBagConstraints.NONE; //如果不想让一个组件充满整个区域,同时还可以指定它放在那个位置,它可以通过设置anchor字段来实现
//共有GridBagConstraints.CENTER 居中,GridBagConstraints.NORTH 居顶,等值可供选择.
bgc.anchor=GridBagConstraints.CENTER; bgc.gridx=0;
bgc.gridy=0;
bgc.gridwidth=2;
bgc.gridheight=1;
jPTemp.add(jTF,bgc); bgc.gridx=0;
bgc.gridy=1;
bgc.gridwidth=1;
bgc.gridheight=1;
jPTemp.add(butSubmit,bgc);

bgc.gridx=1;
bgc.gridy=1;
bgc.gridwidth=1;
bgc.gridheight=1;
jPTemp.add(butReset,bgc); content.add(jPTemp); } public void actionPerformed(ActionEvent mE)
{
String source=mE.getActionCommand();
if (source.equals("登陆"))
{
jTF.setText("登 陆");
//jTF.setText(String.valueOf(mE.get));
}
else if (source.equals("购买"))
{
jTF.setText("购 买");
} else if (source.equals("选中"))
{
if (jcbItem.isSelected()) jTF.setText("选中");
else  jTF.setText("未选中");
}
}
private JTextField jTF;
private JButton butSubmit;
private JButton butReset; private JCheckBoxMenuItem jcbItem;
};public class  menuTest
{
public static void main(String[] args) 
{
 FrmTest test=new FrmTest();
 test.show();
}
}/*--by bookbobby(书呆)-+
 |            |
 |  你说爱我只是习惯  |
 |  再也不是喜欢    |
 |  我给你的爱     |
 |  已不再温暖     |
 |            |
 +--by bookbobby(书呆)-*/