Я новичок в Java и изучаю свинг онлайн.Я только что дошел до части, где мы добавляем JCheckBox
, и я не могу понять, почему они не отображаются, когда я запускаю программу.Я запускаю его на Eclipse на Mac, если это имеет значение.
Я пытался переписать все, но это не сработало.Я знаю, что они добавлены, но они просто не появляются.JRadioButtons
показывают просто отлично.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Userimputcomplex
{
public static void main(String[] args)
{
RadioDemo r = new RadioDemo();
}
}
class RadioDemo extends JFrame
{
JTextField t1; //Input Text
JButton b; //Button
JRadioButton r1,r2; //Check buttons
JLabel l; //Text
JCheckBox c1,c2; //Multiple check buttons
public RadioDemo()
{
t1 = new JTextField(15);
b = new JButton("Ok");
r1 = new JRadioButton("Male");
r2 = new JRadioButton("Female");
l = new JLabel("Greetings");
c1 = new JCheckBox("Dancing");
c2 = new JCheckBox("Singing");
ButtonGroup bg = new ButtonGroup();
bg.add(r1);
bg.add(r2);
add(t1);
add(r1);
add(r2);
add(c1);
add(c2);
add(b);
add(l);
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String name = t1.getText();
if(r1.isSelected())
{
name = "Mr." + name;
}
else
{
name = "Ms." + name;
}
if(c1.isSelected())
{
name = name + " Dancer";
}
if(c2.isSelected())
{
name = name + " Singer";
}
l.setText(name);
}
});
setLayout(new FlowLayout());
setVisible(true);
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}