当我忘记包含
时,以下代码最初无法构建球队[2] =新的JRadioButton(“RSS 1.30”);
我认为创建一个数组时使用null作为默认指针/地址。它是一个简单的GUI,GUI不能用null创建吗?或者,在java中将一个数组位置留空,然后填充下一个数组实际上是不可能/错误的?
import javax.swing.*;
public class FormatFrame extends JFrame {
JRadioButton[] teams = new JRadioButton[4];
public FormatFrame() {
super("Choose an Output Format");
setSize(320, 120);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
teams[0] = new JRadioButton("Atom");
teams[1] = new JRadioButton("RSS 0.92");
teams[2] = new JRadioButton("RSS 1.0");
teams[3] = new JRadioButton("RSS 2.0");
JPanel panel = new JPanel();
JLabel chooseLabel = new JLabel("choose an output format for syndicated news items");
panel.add(chooseLabel);
ButtonGroup group = new ButtonGroup();
for (JRadioButton team : teams) {
group.add(team);
panel.add(team);
}
add(panel);
setVisible(true);
}
private static void setLookAndFeel(){
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Exception exc) {
System.out.println(exc.getMessage());
}
}
public static void main(String[] arguments) {
FormatFrame.setLookAndFeel();
FormatFrame ff = new FormatFrame();
}
}
答案 0 :(得分:3)
是否可以使用null创建GUI?
当你不小心尝试时,你自己刚回答了这个问题。不,您无法将空组件添加到容器或ButtonGroup。
或者在java中实际上不可能将一个数组位置留空而填充下一个数组?
这很有可能,但是当这种情况发生时,你对数组做了什么。
例如,如果你有类似的东西:
for (JRadioButton team : teams) {
if (team != null) {
group.add(team);
panel.add(team);
}
}
你的代码可能会起作用(但我仍然不会使用这样的代码,因为它要求麻烦)。