Возможная альтернатива для JTextArea? - PullRequest
1 голос
/ 23 ноября 2011

У меня есть эта программа, которая принимает ввод от пользователя через JOptionPane. Моя программа делает запись всего, что я ввожу из JOptionPane в JTextArea. Теперь я хочу удалить часть своего ввода в JTextArea, но я не знаю, как.

Я думаю, что должен быть что-то вроде JList, который я могу использовать вместо JTextArea. Тем не менее, я не слишком знаком с JList, и он использует массивы. Я действительно не знаю, массивы D:

Спасибо всем, кто может помочь!

Ответы [ 2 ]

2 голосов
/ 24 ноября 2011

Однако я не слишком знаком с JList, и он использует массивы

Нет, он использует ListModel.

Посмотрите на DefaultListModel.Вы можете динамически добавлять / удалять элементы из модели.

2 голосов
/ 23 ноября 2011

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

В основном, для вашего удобства существуют массивы. Это позволяет вам объявить пространство для набора переменных в одной строке, а не:

int var1, var2, var3, var4, var5, /* snip */ ,  var100;

Можно объявить пространство для всех ста переменных с помощью одного оператора:

int[100] var;

И ссылаться на них, используя синтаксис var[1], var[2] и т. Д. Вместо этого. Это также помогает, когда вам нужно что-то сделать с каждым членом массива, скажем, при инициализации.

Вместо того, чтобы инициализировать каждый в своем собственном утверждении, вот так:

var1 = 0; var2 = 0; var3 = 0; /* snip */ var100 = 0;

Вместо этого можно выполнить цикл по всему массиву и использовать один оператор для обновления каждой из переменных в массиве, например:

for (int i = 0; i < 100; i++) {
  var[i] = 0;
}

Мало того, что это экономит объем кода, но это будет намного проще поддерживать, если, скажем, нужно изменить количество переменных.

...