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就变成黑色。 展开
按钮1初始是红色
按钮5初始是蓝色
按钮9初始是黑色
按下按钮9,按钮9变成红色,且按钮5变成黑色。
有点像棋盘的意思。
求代码!
ps:抱歉!不会绘图!
引发条件是 如果1和9都是红色,那么5就变成黑色。 展开
4个回答
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);
}
}
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);
}
}
展开全部
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();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在按钮9那添加一个事件,当其按下时改变为红色,在判断按钮1是否为红色,若是改变按钮5的颜色就是了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
弄一个监听就行 actionlistener 的点击时间 把背景变一下就行了.
http://zhidao.baidu.com/question/493403044?&oldq=1 和这个格式差不多
http://zhidao.baidu.com/question/493403044?&oldq=1 和这个格式差不多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |