一个Java swing的问题?
代码如下:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassRadioButt...
代码如下:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RadioButton implements ItemListener{
JFrame f=null;
JRadioButton r4=null;
JRadioButton r5=null;
RadioButton(){
f=new JFrame("F");
Container contentPane=f.getContentPane();
contentPane.setLayout(new GridLayout(2,2));
JPanel p1=new JPanel();
p1.setLayout(new GridLayout(1,3));
p1.setBorder(BorderFactory.createTitledBorder("你选择哪一家快餐"));
JRadioButton r1=new JRadioButton("m");
JRadioButton r2=new JRadioButton("k");
JRadioButton r3=new JRadioButton("21");
p1.add(r1);
p1.add(r2);
p1.add(r3);
ButtonGroup bg1=new ButtonGroup();
bg1.add(r1);
bg1.add(r2);
bg1.add(r3);
JPanel p2=new JPanel();
p2.setLayout(new GridLayout(2,1));
p2.setBorder(BorderFactory.createTitledBorder("shifan"));
r4=new JRadioButton("tu1",new ImageIcon("D:/My Documents/My Pictures/11450H4Z-2.jpg"));
r5=new JRadioButton("tu2",new ImageIcon("D:/My Documents/My Pictures/11450H4Z-2.jpg"));
r4.addItemListener(this);
r5.addItemListener(this);
p2.add(r4);
p2.add(r5);
ButtonGroup bg2=new ButtonGroup();
bg2.add(r4);
bg2.add(r5);
contentPane.add(p1);
contentPane.add(p2);
f.pack();
f.show();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}) ;
}
public void itemStateChanged(ItemEvent e){
if (e.getStateChange()==e.SELECTED){
if(e.getSource()==r4)
r4.setIcon(new ImageIcon("D:/My Documents/My Pictures/Spell.png"));
if(e.getSource()==r5)
r5.setIcon(new ImageIcon("D:/My Documents/My Pictures/Spell.png"));
}
else
{
if(e.getSource()==r4)
r4.setIcon(new ImageIcon("D:/My Documents/My Pictures/11450H4Z-2.jpg"));
if(e.getSource()==r5)
r5.setIcon(new ImageIcon("D:/My Documents/My Pictures/11450H4Z-2.jpg"));
}
}
public static void main(String [] args){
new RadioButton();
}
}
我的代码在编译时出现这样的提示正常吗?
提示如图
如何改代码,不出现这样的提示
改成的图发错了,应该是这个。 展开
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RadioButton implements ItemListener{
JFrame f=null;
JRadioButton r4=null;
JRadioButton r5=null;
RadioButton(){
f=new JFrame("F");
Container contentPane=f.getContentPane();
contentPane.setLayout(new GridLayout(2,2));
JPanel p1=new JPanel();
p1.setLayout(new GridLayout(1,3));
p1.setBorder(BorderFactory.createTitledBorder("你选择哪一家快餐"));
JRadioButton r1=new JRadioButton("m");
JRadioButton r2=new JRadioButton("k");
JRadioButton r3=new JRadioButton("21");
p1.add(r1);
p1.add(r2);
p1.add(r3);
ButtonGroup bg1=new ButtonGroup();
bg1.add(r1);
bg1.add(r2);
bg1.add(r3);
JPanel p2=new JPanel();
p2.setLayout(new GridLayout(2,1));
p2.setBorder(BorderFactory.createTitledBorder("shifan"));
r4=new JRadioButton("tu1",new ImageIcon("D:/My Documents/My Pictures/11450H4Z-2.jpg"));
r5=new JRadioButton("tu2",new ImageIcon("D:/My Documents/My Pictures/11450H4Z-2.jpg"));
r4.addItemListener(this);
r5.addItemListener(this);
p2.add(r4);
p2.add(r5);
ButtonGroup bg2=new ButtonGroup();
bg2.add(r4);
bg2.add(r5);
contentPane.add(p1);
contentPane.add(p2);
f.pack();
f.show();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}) ;
}
public void itemStateChanged(ItemEvent e){
if (e.getStateChange()==e.SELECTED){
if(e.getSource()==r4)
r4.setIcon(new ImageIcon("D:/My Documents/My Pictures/Spell.png"));
if(e.getSource()==r5)
r5.setIcon(new ImageIcon("D:/My Documents/My Pictures/Spell.png"));
}
else
{
if(e.getSource()==r4)
r4.setIcon(new ImageIcon("D:/My Documents/My Pictures/11450H4Z-2.jpg"));
if(e.getSource()==r5)
r5.setIcon(new ImageIcon("D:/My Documents/My Pictures/11450H4Z-2.jpg"));
}
}
public static void main(String [] args){
new RadioButton();
}
}
我的代码在编译时出现这样的提示正常吗?
提示如图
如何改代码,不出现这样的提示
改成的图发错了,应该是这个。 展开
4个回答
展开全部
根本就不关这个java代码什么事情,是LengthDemo.java中的事情
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这边没有问题啊 抛空指针 楼主看看代码中新建对象的位置 是不是有问题 比如 图片什么的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把f.show()换成f.setVisible(true);
就是JFrame的show方法问题。
就是JFrame的show方法问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询