Java label.setText不工作
我有一个程序,它应该根据选择器选择的对象来替换标签“男性”或“女性”,但当我尝试运行它时,setText无法工作Java label.setText不工作,java,user-interface,label,settext,Java,User Interface,Label,Settext,我有一个程序,它应该根据选择器选择的对象来替换标签“男性”或“女性”,但当我尝试运行它时,setText无法工作 `import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Hue implements ItemListener { JFrame frame= new JFrame("Demo"); Container content; JPanel
`import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Hue implements ItemListener
{
JFrame frame= new JFrame("Demo");
Container content;
JPanel panel= new JPanel();
JLabel label = new JLabel("[LABEL]");
JCheckBox box= new JCheckBox("With Gender");
JRadioButton male= new JRadioButton("Male");
JRadioButton female= new JRadioButton("Female");
ButtonGroup bg = new ButtonGroup();
JTextField field = new JTextField(100);
public void launchFrame()
{
panel.add(label);
panel.add(box);
panel.add(male);
panel.add(female);
bg.add(male);
bg.add(female);
box.addItemListener(this);
male.addItemListener(this);
female.addItemListener(this);
panel.add(field);
panel.setLayout(null);
label.setBounds(5,0, 100, 20);
box.setBounds(10,15, 100, 20);
male.setBounds(20, 35, 100, 20);
female.setBounds(20, 55, 100, 20);
field.setBounds(15, 80, 250, 100);
field.setHorizontalAlignment(JTextField.LEFT);
male.setEnabled(false);
female.setEnabled(false);
field.setEnabled(false);
content= frame.getContentPane();
content.add(panel, BorderLayout.CENTER);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
frame.setSize(300,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent e)
{
if (e.getItem() == box)
{
if (!box.isSelected())
{
male.setEnabled(false);
female.setEnabled(false);
field.setEnabled(false);
}
else if (box.isSelected())
{
male.setEnabled(true);
female.setEnabled(true);
field.setEnabled(true);
{
if (e.getItem() == male)
{
label.setText("Male");
}
else if (e.getItem() == female)
{
label.setText("Female");
}
}
}
}
}
public static void main(String args[])
{
Hue hw= new Hue();
hw.launchFrame();
}
}`
根据您的代码,如果e.getItem==box,那么永远不会发生如果e.getItem==male或者如果e.getItem==male看起来有点疯狂,那么e.getItem==box,那么e.getItem==male怎么可能呢?
public void itemStateChanged(ItemEvent e)
{
if (e.getItem() == box)
{
if (!box.isSelected())
{
male.setEnabled(false);
female.setEnabled(false);
field.setEnabled(false);
}
else if (box.isSelected())
{
male.setEnabled(true);
female.setEnabled(true);
field.setEnabled(true);
}
}
else if (e.getItem() == male)
{
label.setText("Male");
}
else if (e.getItem() == female)
{
label.setText("Female");
}
}