2013-07-13 4 views
-1

Я пытался установить Radio Button на задний план, чтобы пользователь мог выбирать.Установка переключателей на задний план

Вот код ..

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. Таким образом, они не способствуют точному размещению компонентов. Чтобы организовать компоненты для надежного графического интерфейса, вместо этого используйте диспетчеры макетов или их комбинации, а также макет и границы пробелов для пробелов. 3) Не выдвигайте раму или другие контейнеры верхнего уровня. Вместо этого создайте & используйте экземпляр одного. –

+0

Вы указываете только «местоположение», но не размер для 'JRadioButton'. Вы также должны указать это, но, поскольку ваш совершенно неправильный подход вы принимаете, я не буду говорить ни слова после этого :-) –

+0

Пожалуйста, посмотрите на этот родственный [пример (2-й код)] (http: // stackoverflow .com/a/11428289/1057230) –

ответ

3
+0

Я установил макет backGround на нуль, чтобы иметь возможность сортировать компоненты по своему желанию, я не хочу, чтобы менеджер макета сортировал их –

+1

* «Я не хотите, чтобы менеджер компоновки сортировал их ». Затем ожидайте все типы проблем, которые в настоящее время видны, и перестаньте беспокоить нас. Если бы у вас были макеты для компоновки компонентов, вы могли бы поместить эту логику в собственный менеджер макетов (подсказка: этот вопрос указывает, что вы этого не делаете). –