Как управлять двумя JRadioButtons в Java так, чтобы только один из них мог быть выбран за один раз

Как управлять двумя JRadioButtons в Java так, чтобы только один из них мог быть выбран за один раз? Есть ли какой-либо метод в Java для заботы об этом, или необходимо ли создать собственную логику?

19
задан OscarRyz 12 February 2010 в 17:15
поделиться

2 ответа

Вы должны добавить их в ButtonGroup

ButtonGroup group = new ButtonGroup();
group.add(birdButton);
group.add(catButton);

Убедитесь, что вы добавили этот код после создания кнопок с помощью новых JRadioButton конструкторов, в зависимости от ситуации.

41
ответ дан 30 November 2019 в 02:44
поделиться

Вот метод, который будет работать с разреженными матрицами (которые из ваших комментариев то, что вы хотите), который использует leastsq функцию из пакета оптимизации

from numpy import *
from scipy.sparse import csr_matrix
from scipy.optimize import leastsq
from numpy.random import rand

A=csr_matrix([[0.,1.],[0.,1.],[1.,0.]])
b=array([[2.],[2.],[1.]])

def myfunc(x):
    x.shape = (2,1)
    return (A*x - b)[:,0]

print leastsq(myfunc,rand(2))[0]

генерирует

[ 1.  2.]

Это немного уродливо из-за того, как я должен был получить формы, чтобы соответствовать в соответствии с тем, что leastsq хотел. Может быть, кто-то другой знает, как сделать это немного более опрятным.

Я также пытался получить что-то для работы с функциями в scipy.sparse.linalg с помощью LinearOperators, но безуспешно. Проблема в том, что все эти функции предназначены только для обработки квадратных функций. Если кто-то найдет способ сделать это так, я хотел бы знать также.

-121--2708676-

Необходимо добавить их в ButureGroup

ButtonGroup group = new ButtonGroup();
group.add(birdButton);
group.add(catButton);

Убедитесь, что этот код добавлен после создания кнопок с помощью новых конструкторов JRadioButton .

-121--2186232-

Моя Java ржавая, но если я правильно помню, нужно использовать класс ButureGroup. Добавьте переключатели к объекту ButureGroup. Думаю, это будет выглядеть так.

ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(new JRadioButton('Label', false));
buttonGroup.add(new JRadioButton('Label2', true));

Надеюсь, это поможет. Я бросил Яву много лет назад.

7
ответ дан 30 November 2019 в 02:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: