Java 两个按钮不同状态切换
我是Java新手,麻烦会的帮忙一下,谢谢!!!创建两个按钮,为它们各自设计一个事件接收器.对于button1,点击该按钮后将该按钮改成不可见的状态.对于button2,点...
我是Java新手,麻烦会的帮忙一下,谢谢!!!
创建两个按钮,为它们各自设计一个事件接收器.对于button1,点击该按钮后将该按钮改成不可见的状态.对于button2,点击该按钮将该按钮改成不可用状态。 展开
创建两个按钮,为它们各自设计一个事件接收器.对于button1,点击该按钮后将该按钮改成不可见的状态.对于button2,点击该按钮将该按钮改成不可用状态。 展开
5个回答
展开全部
一: 首先对需求进行分析:
两个不同的按钮,
两个事件接收器,
当按钮被点击后, 事件接收器接受到点击信息, 然后进行事件处理逻辑--->修改按钮的状态
二: 其次 对需要用的知识进行分析
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开发的规范. 会给我们的工作带来很多的便利
展开全部
这是个用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();
}
}
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();
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<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_淡然】
<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_淡然】
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先同时清空两个按钮状态,再设置一个按钮状态。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询