java里GUI(界面)按钮变色问题。

类似这样一个界面,有9个按钮。1-9全是按钮按钮1初始是红色按钮5初始是蓝色按钮9初始是黑色按下按钮9,按钮9变成红色,且按钮5变成黑色。有点像棋盘的意思。求代码!ps:... 类似这样一个界面,有9个按钮。1-9全是按钮
按钮1初始是红色
按钮5初始是蓝色
按钮9初始是黑色

按下按钮9,按钮9变成红色,且按钮5变成黑色。
有点像棋盘的意思。
求代码!
ps:抱歉!不会绘图!
引发条件是 如果1和9都是红色,那么5就变成黑色。
展开
 我来答
匿名用户
2013-05-20
展开全部
JFrame
JButton
GridLayout

JButton.setBackground()

JButton.getBackground()

Color.red/Color.blue/Color.black

.................

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JButtonColor extends JFrame{
JButton btns[]=new JButton[9];
public JButtonColor(){
super("JButtonColor");
this.setLayout(new GridLayout(3,3));
Font font = Font.decode("宋体-28");
for(int i=1; i<10; i++){
btns[i-1]=new JButton(String.valueOf(i));
this.getContentPane().add(btns[i-1]);
btns[i-1].setFont(font);
btns[i-1].addActionListener(btnMouseListener);
}
btns[0].setBackground(Color.red);
btns[4].setBackground(Color.blue);
btns[8].setBackground(Color.black);
}
private ActionListener btnMouseListener = new ActionListener(){
public void actionPerformed(ActionEvent e){
JButton btn = (JButton)e.getSource();
System.out.println(" -"+btn.getActionCommand()+"-");

if("1".equals(btn.getActionCommand())){
btns[0].setBackground(Color.red);
}

if("5".equals(btn.getActionCommand())){
btns[4].setBackground(Color.blue);
}

if("9".equals(btn.getActionCommand())){
btns[8].setBackground(Color.red);
}

if(Color.red.equals(btns[0].getBackground() ) && Color.red.equals(btns[8].getBackground())){
btns[4].setBackground(Color.black);
}
}
};

public static void main(String argv[]){
JButtonColor f =new JButtonColor();
f.setSize(400, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
百度网友845f74e61
2013-05-20 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1620万
展开全部
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Buttons extends JFrame {
    public Buttons() {
        setLayout(new GridLayout(3, 3));
        for (int i = 0; i < 9; i++) {
            JButton btn = new JButton((i + 1) + "");
            add(btn);
            if (i == 0) {
                btn.setBackground(Color.RED);
            }
            if (i == 4) {
                btn.setBackground(Color.BLUE);
            }
            if (i == 8) {
                btn.setBackground(Color.BLACK);
            }
        }
        setSize(400, 300);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }
    public static void main(String[] args) {
        new Buttons();
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l122012506
2013-05-20
知道答主
回答量:44
采纳率:0%
帮助的人:16.9万
展开全部
在按钮9那添加一个事件,当其按下时改变为红色,在判断按钮1是否为红色,若是改变按钮5的颜色就是了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
年虹英0bt
2013-05-20 · 超过16用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:38.6万
展开全部
弄一个监听就行 actionlistener 的点击时间 把背景变一下就行了.
http://zhidao.baidu.com/question/493403044?&oldq=1 和这个格式差不多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式