2013-07-13 199 views
-1

我试图将单选按钮设置为背景以允许用户选择。将单选按钮设置为背景

这里是代码..

public class FirstWindow extends JFrame { 

    private JTextField search; 
    private JRadioButton author,title,both; 
    private ButtonGroup grp; 

    public FirstWindow() { 
     super("My App"); 
     setLayout(new BorderLayout()); 

    JLabel backGround = new JLabel(new ImageIcon("C:\\Users\\Kareem Abdo\\Desktop\\3.Jpg")); 
    backGround.setLayout(null); 
    add(backGround); 

    search = new JTextField("Search..."); 
    search.setFont(new Font("Arial",Font.PLAIN,16)); 
    search.setSize(150, 30); 
    search.setLocation(20, 20); 
    backGround.add(search); 

    author = new JRadioButton("Author",true); 
    author.setLocation(20, 25); 
    backGround.add(author); 

    title = new JRadioButton("Title",false); 
    title.setLocation(25, 25); 
    backGround.add(title); 

    both = new JRadioButton("Both",false); 
    both.setLocation(250, 250); 
    backGround.add(both); 

    grp = new ButtonGroup(); 
    grp.add(author); 
    grp.add(title); 
    grp.add(both); 

但单选按钮不会出现在屏幕上!

+0

1)为了更好地提供帮助,请发布[SSCCE](http://sscce.org/)。 2)Java GUI可能需要在多种平台上工作,使用不同的屏幕分辨率并使用不同的PLAF。因此,它们不利于组件的准确放置。要为可靠的GUI组织组件,请使用布局管理器或它们的组合,以及用于空白区域的布局填充和边框。 3)不要延长框架或其他顶层容器。而是创建并使用一个实例。 –

+0

您只指定'位置',但没有指定'JRadioButton'的大小。你也需要指定,但是由于你的方法完全错误,所以在这之后我不会说一句话:-) –

+0

请看看这个相关的[示例(第二代码)](http:// stackoverflow .com/a/11428289/1057230) –

回答

3
将启动
+0

我已经将backGround的布局设置为null,以便能够根据需要对组件进行排序,我不希望布局管理器对它们进行排序 –

+1

*“我不希望布局经理对他们进行排序“*然后期待所有类型的问题目前被看到,并停止打扰我们。如果你有智能布局组件,你可以把这个逻辑放在一个自定义的布局管理器中(提示:这个问题表明你没有)。 –