按钮的各种操作

学到的知识点

button.setVerticalTextPosition(AbstractButton.  ? );    可以设置按钮里文本的竖直位置

button.HorizontalTextPosition(AbstractButton. ?);     可以设置按钮里文本的水平位置,如果文本在左边,那么图像就在右边。

button.setMnemonic(KeyEvent.VK_P);          可以设置按钮的另一个点击途径,同时按   Alt+p。

button.setEnabke(true/false);           可以设置按钮是否可以被点击

button.setActionCommend("str"); 可以设置点击下此按钮发出的命令 ,     监听时   ActionEvent e中有方法 e.getActionCommand();返回str。

jframe.setDefaultLookAndFeelDecorated(true); 可以美化JFrame界面。




import java.awt.*;
import java.awt.event.*;
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon;


public class Main extends JPanel implements ActionListener {
    protected JButton b1, b2, b3;
/**
 *<br>方法说明:构造器,初始图形界面构建
 *<br>输入参数:
 *<br>返回类型:
 */
    public Main() 
    {
        ImageIcon leftButtonIcon =  new ImageIcon("F:/JavaPractice/javaproject/codefans.net/java实用编程100(1)例1-55/实例11/images/right.gif");
        ImageIcon middleButtonIcon = new ImageIcon("F:/JavaPractice/javaproject/codefans.net/java实用编程100(1)例1-55/实例11/images/middle.gif");
        ImageIcon rightButtonIcon = new ImageIcon("F:\\JavaPractice\\javaproject\\codefans.net\\java实用编程100(1)例1-55\\实例11\\images\\left.gif");

        b1 = new JButton("失效中间按钮(D)", leftButtonIcon);
        b1.setVerticalTextPosition(AbstractButton.CENTER);//水平中间对齐
        b1.setHorizontalTextPosition(AbstractButton.LEFT);//相当于LEFT
        b1.setMnemonic(KeyEvent.VK_D);                    //将b1邦定alt+D键
        b1.setActionCommand("disable");
        
        b2 = new JButton("M中间按钮", middleButtonIcon);
        b2.setVerticalTextPosition(AbstractButton.BOTTOM);
        b2.setHorizontalTextPosition(AbstractButton.CENTER);
        b2.setMnemonic(KeyEvent.VK_M);//将b2邦定alt+M键

        b3 = new JButton("E激活中间按钮", rightButtonIcon);
        b3.setMnemonic(KeyEvent.VK_E);//将b3邦定alt+E键
        b3.setVerticalTextPosition(AbstractButton.CENTER);
        b3.setHorizontalTextPosition(AbstractButton.RIGHT);
        b3.setActionCommand("enable");
        b3.setEnabled(false);

        //给1和3添加事件监听
        b1.addActionListener(this);
        b3.addActionListener(this);
        //设置按钮提示文本
        b1.setToolTipText("点击这个按钮,将使中间的按钮失效!");
        b2.setToolTipText("点击这个按钮,没有任何的事件发生!");
        b3.setToolTipText("点击这个按钮,将使中间的按钮有效");
        
        //将按钮添加到JPanel中
        add(b1);
        add(b2);
        add(b3);
    }
/**
 *<br>方法说明:事件处理
 *<br>输入参数:
 *<br>返回类型:
 */
    public void actionPerformed(ActionEvent e) {
        if ("disable".equals(e.getActionCommand())) {
            b2.setEnabled(false);
            b1.setEnabled(true);
            b3.setEnabled(true);
        } else {
            b2.setEnabled(true);
            b1.setEnabled(true);
            b3.setEnabled(true);
        }
    }
/**
 *<br>方法说明:创建图标,
 *<br>输入参数:String path 图标所在的路径
 *<br>返回类型:ImageIcon 图标对象
 */
    protected static ImageIcon createImageIcon(String path) 
    {
        java.net.URL imgURL = Main.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } 
        else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
/**
 *<br>方法说明:主方法
 *<br>输入参数:
 *<br>返回类型:
 */
    public static void main(String[] args) {
        //设置使用新的swing界面
        JFrame.setDefaultLookAndFeelDecorated(true);

        //创建一个窗体
        JFrame frame = new JFrame("Main");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //创建一个面板
        Main newContentPane = new Main();
        newContentPane.setOpaque(true); 
        frame.setContentPane(newContentPane);

        //显示窗体
        frame.pack();
        frame.setVisible(true);
    }
}











  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值