2013-04-10 2 views
0

Я не уверен, как я могу поменять JButton на JRadioButton при нажатии на кнопку JButton. Поэтому скажите, был ли Jpanel установлен как gridlayout, который выдает 4 строки (3 JLabels и JButton). Поэтому, когда пользователь нажимает JButton, этот JButton будет заменен на JRadioButton.Замена JButton в java

Я бы использовал CardLayout для этой цели или есть простой способ заменить это JButton?

+0

не существует ISN 't некоторые проблемы с этим, но нужно добавить JComponents с нумерацией, удерживая ZOrder, а затем вызвать revalidate и перерисовать в свой контейнер – mKorbel

+0

* «Я бы использовал« CardLayout »для этой цели», * Конечно, он может войти внутрь 'GridBagLayout'. Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –

+0

Спасибо за советы. Большое спасибо –

ответ

-1

Что вы можете сделать, это удалить кнопку из pannle и добавить кнопку радио на своем месте

Пример кода

static JButton button1 = new JButton("Test"); 
    static JPanel panel1 = new JPanel(): 
    public static void main(String[] args{ 
    panel1.add(button1); 
    } 
    public void ActionListener(ActionEvent e){ 
    if(e.equals("Test"){ 
    panel1.remove(button1); 
    panel1.add(radiobutton1); 
    } 

здесь вы можете добавить свои кнопки radieo

+0

Спасибо большое за ответ. Поэтому в моем случае я мог добавить radioButton в позицию 3 (четвертая строка JButton) в JPanel. Я слишком много думал об этом. Еще раз спасибо –

+0

Этот метод не нужен и глючит. Особенно, если переключатель больше кнопки. В сочетании с плохим форматированием и забыванием сообщить графическому интерфейсу для обновления макета, -1. Совет к OP - * Используйте «CardLayout». * –

+0

этот код предназначен только для того, чтобы получить представление о том, как вы можете переключаться с кнопок. Я не знал о карточных играх, когда писал это. если вы хотите сказать, что моя идея плоха и проскальзывает, дайте код, чтобы парень задал вопрос, и люди, читающие это, имеют представление о том, как делать то, что вы говорите – fftk4323