Как управлять двумя JRadioButtons в Java так, чтобы только один из них мог быть выбран за один раз? Есть ли какой-либо метод в Java для заботы об этом, или необходимо ли создать собственную логику?
Вы должны добавить их в ButtonGroup
ButtonGroup group = new ButtonGroup();
group.add(birdButton);
group.add(catButton);
Убедитесь, что вы добавили этот код после создания кнопок с помощью новых JRadioButton
конструкторов, в зависимости от ситуации.
Вот метод, который будет работать с разреженными матрицами (которые из ваших комментариев то, что вы хотите), который использует 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
.
Моя Java ржавая, но если я правильно помню, нужно использовать класс ButureGroup. Добавьте переключатели к объекту ButureGroup. Думаю, это будет выглядеть так.
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(new JRadioButton('Label', false));
buttonGroup.add(new JRadioButton('Label2', true));
Надеюсь, это поможет. Я бросил Яву много лет назад.