Java 两个按钮不同状态切换

我是Java新手,麻烦会的帮忙一下,谢谢!!!
创建两个按钮,为它们各自设计一个事件接收器.对于button1,点击该按钮后将该按钮改成不可见的状态.对于button2,点击该按钮将该按钮改成不可用状态。

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

      两个不同的按钮,

      两个事件接收器,

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


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

    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开发的规范. 会给我们的工作带来很多的便利

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-07
这是个用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();
}
}本回答被提问者采纳
第2个回答  2010-07-05
<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_淡然】
第3个回答  2015-12-15
先同时清空两个按钮状态,再设置一个按钮状态。
第4个回答  2015-12-24
不同状态指的是什么呢?

Java编程。比如在一个面板上有两个按钮,怎么实现分别点击这两个按钮然后...
import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class Test extends JFrame{public Test(){this.setSize(400,300);this.setLocationRelativeTo(null);\/\/设置居中...

java Swing 一个窗口里做两个面板切换 怎样实现
一、你可以用Java自带的组件,叫tablepanel还是什么的,一下记不清了,就可以切换选项卡;二、自己写两个按钮或什么,添加监听,点击按钮的时候,将第需要切换的面板里面的组件移除,再添加你需要显示的那个组件,然后在refresh刷新一次整个窗口

java中单击一个按钮如何在文本框中交替显示内容
可以有两个按钮 一个默认显示一个默认隐藏 点击第一次的时候显示“大家好”,接着隐藏该按钮,显示另外一个按钮 把位置换过去 然后再点击第二次的时候显示“欢迎你”,也隐藏该按钮再显示第一次的按钮

Java程序中怎样实现通过一个按钮来让两个不同的JPanel之间…_百度知...
public ButtonPanel(JTextField field){ this.field = field;btn = new JButton("Clear");btn.addActionListener(new java.awt.event.ActionListener(){ public void actionPerformed(java.awt.event.ActionEvent e){ ButtonPanel.this.field.setText("");} });add(btn);} } ...

java 怎么实现两个窗体的切换
1:登录界面代码:import java.awt.BorderLayout;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.WindowConstants;public class Login extends javax.swing.JFrame { private JPanel jPanel1;private JButton...

JAVA如何通过按钮来实现界面的切换?一个Frame 三个panel(其中一个为M...
final CardLayout cards = new CardLayout();final JPanel container = new JPanel(cards);container.add(panel1, "panel1");container.add(panel2, "panel2");button1.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ cards.show(container,...

Java单击确定按钮跳转到另一个界面的代码。调到另一个类的界面
public void actionPerformed(ActionEvent e){ if(e.getSource() == button)\/\/或者e.getActionCommand().equals("确定'){ Login window = new Login();window.frame.setVisible(true);} } 这样就可以了。但是要在Login类中定义一个全局变量frame,即:private JFrame frame,并且记得初始化,frame...

java编程窗体上有黑色和白色两个按钮一个标签单击黑色按钮窗体颜色变 ...
import java.awt.event.WindowEvent;import javax.swing.JFrame;import javax.swing.JOptionPane;public class SimpleFrame {public static void main(String[] args) { MyFrame frame = new MyFrame();frame.setDefaultCloseOperation( JFrame.DO_NOTHING_ON_CLOSE);frame.setVisible(true);} } class ...

java怎样放两个按钮在窗体的正中间
方法一: [绝对布局],通过设置panel 为绝对布局,然后设置按钮的宽高和位置 参考代码 import javax.swing.*;public class JFDemo1 extends JFrame{public JFDemo1() {JPanel panel=new JPanel();panel.setLayout(null);\/\/设置为空布局.或者叫绝对布局JButton messageButton = new JButton("OK");J...

java 如何通过点击不同的按钮切换界面!
import javax.swing.*;import java.awt.event.*;public class Mulit_Panel extends JFrame{ JDialog frame1=new JDialog();JDialog frame2=new JDialog();JPanel jpf1=new JPanel();JPanel jpf2=new JPanel();public Mulit_Panel(){ JPanel jp=new JPanel();JButton jbt1=new JButton(...

相似回答