Java点击按钮背景面板变色

普通应用程序。想知道按钮大小用setSize不能改,Layout置null也不行,
还有在eclipse中事件处理是在另外一个类中的,在另外一个类中不能直接setBackgroud啊!!!

怎么办?麻烦指点一下!

import java.awt.* ;
import javax.swing.* ;

public class NineTest{
public static void main(String args[]){
JFrame frame = new JFrame("实验九");
JButton b = new JButton("变色") ;
Container contentPane = frame.getContentPane() ;
contentPane.setBackground(Color.white) ;

b.addActionListener(new ButtonHandler()) ;

frame.getContentPane().add(b,BorderLayout.NORTH);
frame.setSize(200,150) ;
frame.setVisible(true) ;
}

}

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class ButtonHandler implements ActionListener {

//出现ActionEvent事件时,下面方法将被调用
public void actionPerformed(ActionEvent e) {
System.out.println("这里怎么让他变色");
}
}

1.样式设置为空都不行么?用setBounds()呢?这奇怪,回去看看。
2.public void actionPerformed(ActionEvent e) {
System.out.println("这里怎么让他变色");
NineTest nt=new NineTest();
nt.setBackGround(Color.red);
}
这个不行么?追问

打上这个后,提示让在主方法那个类中加入了
public void setBackGround(Color red) {
// TODO Auto-generated method stub

}

还是不会变色啊。
最主要是变色,按钮那个是小事情我回头自己研究!拜托啦,我刚学图形界面是个菜鸟!

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-24
使用JPanl的setBackground方法,使其变色。我这边为了测试方便写到一个类里面了,你可以把事件拆出去。有问题百度Hi我吧,good luck!~

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

public class MianBanYanSe implements ActionListener {

private JPanel jp = null;

public MianBanYanSe() {
JFrame frame = new JFrame("实验九");
JButton b = new JButton("变色") ;
Container contentPane = frame.getContentPane() ;
contentPane.setBackground(Color.white) ;

b.addActionListener(this) ;

contentPane.add(b,BorderLayout.NORTH);
jp = new JPanel();
jp.setBackground(new Color(80,120,30));
contentPane.add(jp, BorderLayout.CENTER);
// frame.add(contentPane);
frame.setSize(200,150) ;
frame.setVisible(true) ;

}

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.out.println("这里怎么让他变色");
if("变色".equals(e.getActionCommand())) {
jp.setBackground(new Color(80,20,30));
}

}

public static void main(String args[]){
new MianBanYanSe();
}

}追问

知道了!if后面的去掉直接setBackg也可以的!谢谢!采纳啦~

本回答被提问者采纳

java 点击按纽改变背景颜色
getContentPane().setBackground(new Color(r,g,b));\/\/设置窗口的面板背景色四 事件处理分析: 点击按钮,会触发ActionEvent 事件,这个事件会被ActionListener 接收器接收到, 只需要重写ActionListener 里的actionPerformed 方法, 即可实现点击按钮后,做某件事 五 具体参考代码 import java.awt.*;import j...

java怎么做点击一个按钮弹出一个颜色选择窗格改变文本区文字颜色...
1、示例代码 public class ColorFrame extends JFrame { private Container container; \/\/容器 private JPanel colorPanel; \/\/用于反映颜色变化的面板 public ColorFrame() { \/\/构造函数 super( "调色板演示" ); \/\/调用JFrame的构造函数 container = getContentPane(); \/\/得到容器 colorPanel=...

Java swing该怎么设置点击一个按钮时将其切换为红色,点击其他按钮时将其...
思路: 按钮都存入同一个容器里, 然后点击按钮后 ,所有的按钮恢复为初始的颜色,然后在设置点击按钮的背景色为红色即可.(当然思路很多,这是其中最简单的一种思路;另外提示一种思路,使用一个变量lastBtn 用于记录上一次点击的按钮, 点击按钮后,先把上一次按钮的颜色恢复成默认的颜色, 如果上一次点击的按...

java改变按钮颜色
为yellow、blue、red3个按钮添加actionlistener,当按钮点击时执行setBackground(backgroundColor),同时执行 按钮.setBackground(backgroundColor)即可,比如:JButton btnYellow = null;JButton btnBlue = null;JButton btnRed = null;btnYellow.setActionCommand("yellow");btnBlue.setActionCommand("blu...

请高手补充一个java程序,实现功能是,按下按钮背景色变红色。急要,万分...
这个很简单,你在构造方法里面初始化button和Frame,然后 给 button注册action事件,然后再这个事件里面 写入改变背景颜色的代码即可。注意 构造方法里要把button添加到Frame中 FrameOut(){ btn = new Button("按钮");btn.addActionListener(此处注册监听器对象需要你设置)this.add(btn);} public void ...

在JAVA里,怎么利用一个单独的类生成的窗体里的按钮控制另一个主窗体...
可以采用MVC结构, 使用Controller 来控制 窗口 的颜色进行改变 也可以使用带有返回值的对话框(弹出框),用返回值来控制窗口的背景颜色 也可以把主窗口当成参数传入 新的窗口里, 然后在新的窗口里点击按钮时,改变主窗口的背景色 也可以用一个配置文件作为桥梁, 当在新的窗口里设置背景颜色,等参数时 ...

如何改变java按钮中的颜色?
setForeground() 设置前景\/字体颜色 setBackground() 设置背景颜色 具体实现:(假设按钮名称为:button)设置红字:button.setForeground(Color.red);设置黑色背影:button.setBackground(Color.black);

Java按钮变色问题
public void setBackground(Color bg)设置此组件的背景色。背景色仅在组件是不透明时才使用,并且只能由 JComponent 或 ComponentUI 实现的子类使用。JComponent 的直接子类必须重写 paintComponent 以遵守此属性。由外观决定是否遵守此属性,某些外观可以选择忽略它。覆盖:类 Component 中的 setBackground ...

JAVA里面如何中创建了一个按钮button,如何设置这个按钮的背景呢? 不...
很多人提交表单时都喜欢用一个图片来作为提交按钮,大多数人可能用JS去操作表单的提交,即当用户点击这个图片时响应一个JS来提交表单.其实还有一种方法,就是直接设置SUBMIT按钮的图片背景.设置它的图片背景有二种方法,一是直接在按钮中设置,如下: 这种设置方法在FF下可见,但是在IE下不可见,不知道为什么....

...单击按钮改变窗口的背景色(背景色要求为随机色)。
import java.applet.*;import java.awt.*;import java.awt.event.*;import java.lang.Object;import java.util.Random;public class MyApplet extends Applet implements ActionListener { Button bt1=new Button("改变颜色");public void init(){ add(bt1);bt1.addActionListener(this);} public ...

相似回答