怎么下JRadioButton单击下文本框改变颜色

jl2=newJLabel("是否完成:");jl2.setFont(newFont("微软雅黑",Font.BOLD,19));jl2.setForeground(Co... jl2 = new JLabel("是否完成:");
jl2.setFont(new Font("微软雅黑",Font.BOLD,19));
jl2.setForeground(Color.BLACK);
jl2.setBounds(760, 20, 200, 20);
jrb = new JRadioButton(" 是");
jrb.setBounds(750, 50, 50, 20);
jrb1 = new JRadioButton("否");
jrb1.setBounds(800, 50, 50, 20);
jl3 = new JLabel("完成状态");
jl3.setFont(new Font("微软雅黑",Font.BOLD,20));//这行代码是用来设置按键上的字体大小的!
jl3.setForeground(Color.BLACK);
jl3.setBounds(1000, 5, 120, 50);
请问各位大神,怎么在点击是的情况下,后面的状态能显示绿色,在点击否的情况下,能显示红色
请帮忙写一下代码!在这里谢谢各位大神了!感激不尽!
展开
 我来答
紫薇参星
科技发烧友

2013-10-21 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3575万
展开全部
根据你给出的程序片段编写的Java程序如下:
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class WorkSchedule extends JFrame implements ActionListener{
JLabel jl,jl0,jl1,jl2,jl3,jl4;
JRadioButton jrb,jrb1;
ButtonGroup bg;
JTextArea jta;
JTextField jtf,jtf1;
WorkSchedule(){

jl=new JLabel("工 作 内 容");
jl.setFont(new Font("微软雅黑",Font.BOLD,19));
jl.setForeground(Color.BLACK);
jl.setBounds(100, 20, 200, 20);

jl0=new JLabel("开始日期:");
jl0.setFont(new Font("微软雅黑",Font.BOLD,20));
jl0.setForeground(Color.BLACK);
jl0.setBounds(350, 20, 200, 20);

jl1=new JLabel("结束日期:");
jl1.setFont(new Font("微软雅黑",Font.BOLD,20));
jl1.setForeground(Color.BLACK);
jl1.setBounds(550, 20, 200, 20);

jl2 = new JLabel("是否完成:");
jl2.setFont(new Font("微软雅黑",Font.BOLD,19));
jl2.setForeground(Color.BLACK);
jl2.setBounds(760, 20, 200, 20);
jrb = new JRadioButton(" 是");
jrb.addActionListener(this);
jrb.setBounds(750, 50, 50, 20);
jrb1 = new JRadioButton("否");
jrb1.addActionListener(this);
jrb1.setBounds(800, 50, 50, 20);
bg=new ButtonGroup();
bg.add(jrb);
bg.add(jrb1);

jl3 = new JLabel("完成状态");
jl3.setFont(new Font("微软雅黑",Font.BOLD,20));//这行代码是用来设置按键上的字体大小的!
jl3.setForeground(Color.BLACK);
jl3.setBounds(1000, 5, 120, 50);

jl4=new JLabel();
jl4.setOpaque(true);
jl4.setBounds(970, 50, 160, 20);

jta=new JTextArea(3,5);
jta.setBounds(70, 50, 180, 50);

jtf=new JTextField();
jtf.setBounds(320, 50, 150, 20);

jtf1=new JTextField();
jtf1.setBounds(530, 50, 150, 20);

add(jl);add(jl0);add(jl1);add(jl2);add(jl3);add(jl4);
add(jta);add(jtf);add(jtf1);add(jrb);add(jrb1);

setLayout(null);
setSize(1200, 500);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new WorkSchedule();
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==jrb){
jl4.setBackground(Color.GREEN);
}
if(ae.getSource()==jrb1){
jl4.setBackground(Color.RED);
}
}
}
追问
请问大神,开始日期和结束日期的话能不能编写成可以选择的呀,就像平常用的需要填写日期的时候就会出来日历的效果,然后超过结束日期会自己会变成红色!
追答
可以,可以在开始日期和结束日期后放置一个小JButton按钮,点击它出来一个日历的JFrame或JDialog窗口(这个窗口需要你编程实现或者到网上找一个类似的程序改一下),当用户选择后返回的日期填充到你的JTextField中.就行了.
超过结束日期会自己变成红色,可以用当前日期和结束日期比较,如果超过了,就把结束日期的JTextField的前景色设置成红色.
wfh45678
2013-10-21 · TA获得超过291个赞
知道小有建树答主
回答量:781
采纳率:0%
帮助的人:421万
展开全部
 分别给两个 JRadioButton 都 增加监听器就可以了,代码如下,
建议把 jl2 = new JLabel("是否完成:"); 换成 JTextField 类型的
  

  jRadioButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setBackground(Color.red);
jLabel1.setBackground(Color.red);
}
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-21
展开全部
public class JLabelChaneColor extends JFrame {
private JLabel lbl1=new JLabel("状态测试");
public JLabelChaneColor(){
super("JLabelChaneColor Demo");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400, 300);
this.setLayout(new GridLayout(1,3));
lbl1.setOpaque(true);
this.add(lbl1);
JRadioButton btn1=new JRadioButton("红");
this.add(btn1);
btn1.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
lbl1.setBackground(Color.red);
}
});

JRadioButton btn2=new JRadioButton("绿");
this.add(btn2);
btn2.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
lbl1.setBackground(Color.green);
}
});

this.setVisible(true);
this.validate();
this.repaint();
}

public static void main(String args[]){
javax.swing.SwingUtilities.invokeLater(new Thread(){
public void run(){
new JLabelChaneColor();
}
});
}
}
追问
用java编写一个小的程序就可以,不需要用到数据库,
主要要求就是有工作内容,工作的开始日期,结束日期,(能够弹出日历进行选择)是否完成,还有就是完成的状态,点击是显示绿色,点击否显示红色!希望能写的美观一点,能在表格中就好了!大概的样子就和下面的图片差不多,明天要交的面试题目,请各位大神帮帮忙,谢谢了
能提供600分的奖励!谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式