Java 两个按钮不同状态切换

我是Java新手,麻烦会的帮忙一下,谢谢!!!创建两个按钮,为它们各自设计一个事件接收器.对于button1,点击该按钮后将该按钮改成不可见的状态.对于button2,点... 我是Java新手,麻烦会的帮忙一下,谢谢!!!
创建两个按钮,为它们各自设计一个事件接收器.对于button1,点击该按钮后将该按钮改成不可见的状态.对于button2,点击该按钮将该按钮改成不可用状态。
展开
 我来答
雪飞潇潇
推荐于2018-05-11 · TA获得超过6275个赞
知道大有可为答主
回答量:1968
采纳率:91%
帮助的人:869万
展开全部

一:  首先对需求进行分析: 

      两个不同的按钮,

      两个事件接收器,

      当按钮被点击后, 事件接收器接受到点击信息, 然后进行事件处理逻辑--->修改按钮的状态 


二: 其次 对需要用的知识进行分析

    A. 按钮状态的设置

      按钮的状态----->不可见----->通过设置属性是否可见实现

JButton button1 = new JButton("按钮一");
button1.setVisible(false); //设置为不可见的状态

      按钮的状态----->不可用----->通过设置属性是否用实现

JButton button2 = new JButton("按钮二");
button2.setEnabled(false); //设置为不可用的状态

    B. 事件的接收器的设置, 已经书写

    一般使用匿名内部类来书写接收器, 以及处理代码

button.addActionListener(new ActionListener() {//为按钮添加事件接收器
    public void actionPerformed(ActionEvent e) {
//这里写事件处理代码     
    }
});

    

三: 效果图

当点击按钮一的效果图

当点击按钮二的效果图


四: 参考代码


//导入所需要的包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class FrameDemo extends JFrame {
//申明需要操作的按钮控件
private final JButton button1,button2;
public FrameDemo() {
setTitle("按钮测试窗口");//设置窗口标题
setSize(220, 80);//设置窗口的大小
setLocationRelativeTo(null);//设置窗口居于屏幕中央
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置点击关闭时退出虚拟机
setLayout(new FlowLayout());//布局窗口为流式布局
button1 = new JButton("按钮一");
button2 = new JButton("按钮二");
button1.addActionListener(new ActionListener() {//为按钮一设置事件接收器
public void actionPerformed(ActionEvent e) {
button1.setVisible(false);//当按钮一被点击时,该按钮设置为不可见
}
});
button2.addActionListener(new ActionListener() {//为按钮二设置事件接收器
public void actionPerformed(ActionEvent e) {
button2.setEnabled(false);//当按钮二被点击时,该按钮设置为不可用
}
});
JPanel jp = new JPanel(new GridLayout(1, 2));
jp.add(button1);
jp.add(button2);
add(jp);
}

public static void main(String[] args) {
new FrameDemo().setVisible(true);//创建按钮窗口,并且设置为可见
}
}


五: 拓展思考

    java 的源代码一般都遵循java 的规范, 

    属性的设置使用setXXX(...)方法

    属性的获得使用getXxx();  方法

    使用的时候, 可以很方便的调用

    所以, 我们平时开发java的时候也应该遵循java开发的规范. 会给我们的工作带来很多的便利

大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
百度网友3c24f79
2010-07-07 · TA获得超过138个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:143万
展开全部
这是个用java swing写的,看看是不是你要的···
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class ButtonTest implements ActionListener{
JButton button1;
JButton button2;
public void initUI(){
JFrame jf = new JFrame();
button1 = new JButton("不可见");
button2 = new JButton("不可用");

button1.addActionListener(this);
button2.addActionListener(this);

jf.setLayout(new FlowLayout());
jf.add(button1);
jf.add(button2);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(200, 200);
jf.setLocationRelativeTo(null);
jf.setVisible(true);
}

public void actionPerformed(ActionEvent e) {

if(e.getActionCommand().equals("不可见")){
button1.setVisible(false);
}if(e.getActionCommand().equals("不可用")){
button2.setEnabled(false);
}
}
public static void main(String[] args) {
ButtonTest bt = new ButtonTest();
bt.initUI();
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
simple_dr
2010-07-05 · 超过12用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:42.3万
展开全部
<html>
<head>
<title>无标题文档</title>
<script>
function on_click(bt){
if(bt.id=="b1"){
bt.style.display="none";
}
if(bt.id=="b2"){
bt.disabled="disabled";
}
}
</script>

</head>

<body>
<button id="b1" onclick="on_click(b1)">点击我就不见了</button>
<button id="b2" onclick="on_click(b2)">点击我就生气不让点了</button>
</body>
</html>

代码如上,事件接收器是写在一起的,用参数区别开...
【Simple_淡然】
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heart你好评
2015-12-15 · 知道合伙人软件行家
heart你好评
知道合伙人软件行家
采纳数:186 获赞数:614
本人主要擅长网络运营、网络营销管理以及办公软件化操作

向TA提问 私信TA
展开全部
先同时清空两个按钮状态,再设置一个按钮状态。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yefengming1995
2015-12-24
知道答主
回答量:20
采纳率:0%
帮助的人:13.7万
展开全部
不同状态指的是什么呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式