Хорошо, поэтому я в основном пытаюсь выполнить некоторые действия с помощью Java Swing JButtons. У меня такое ощущение, что моя проблема - это легкость для опытных программистов, которые обнажают мои «элементарные» проблемы:
Что я хотел бы сделать, так это изменить содержимое другого JComponent и, возможно, изменить некоторые переменные при нажатии кнопки. Это кажется относительно простым, но я хотел бы выполнить это для «уже объявленных» переменных (или уже созданных JComponents)
Везде, где я ищу, я всегда получаю примеры случаев, когда все объявляется с нуля внутри реализации функции ActionPerformed, связанной с конкретным JButton, как здесь:
http://zetcode.com/tutorials/javaswingtutorial/swingevents/
// выше вы можете заметить, что в функции "actionPerformed" они определяют новые переменные, такие как: string / date / locale / stringbuffer
Такое решение никоим образом не удовлетворяет мои потребности. Я хочу изменить / показать переменную, которая была ранее определена из-за щелчка пользователя с использованием функции, принадлежащей другому классу.
Хорошо, возможно, будет более понятно, если я покажу вам, что я хотел бы сделать на примерном исходном коде:
class Number_String {
public String change_add_MOD (String sss){
String str_modified = sss + "_modified";
return str_modified;
}
public int change_plus1 (int z){
int z_modified = z + 1;
return z_modified;
}
public static void main(String[] args) {
// TODO code application logic here
}
}
public class probTESTswing extends javax.swing.JFrame {
public probTESTswing() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jLabel1.setText("done");
jLabel2.setText(mystring2);
jLabel3.setText(ns.change_add_MOD(mystring3));
}
public static void main(String args[]) {
Number_String ns=null;
String first_str="myFIRSTstring";
String mystring2 = ns.change_add_MOD(first_str);
String mystring3 = "third_str";
probTESTswing testing= new probTESTswing();
testing.setVisible(true);
}
}
Приветствую всех, кто приложил усилия, чтобы попасть сюда;)
Итак, позвольте мне кратко объяснить:
Основной класс - это "графический интерфейс пользователя", в котором в функции main () я инициализирую некоторые переменные с использованием второго класса, теперь я хочу показать результат "обработки" этих переменных с моим классом Number_String, однако Java отказывается сотрудничать в качестве моего программирования навыкам не хватает фундаментальных знаний, как вы, наверное, заметили.
Вы можете заметить, что я хочу сделать "это" обоими способами: где внутри jButton1ActionPerformed я хочу получить доступ к функции из моего класса Number_String (с использованием 'mystring3'), а также другим способом, где я бы хотел доступ к только что определенной переменной (mystring2)
ЛЮБАЯ ПОМОЩЬ БОЛЬШОЙ ЦЕННОСТИ.
Должен ли я "перегрузить" функцию jButton1ActionPerformed (чтобы принимать переменные в качестве параметра)? (да, я знаю, что это личное -> я создал его с дизайнером Netbeans Swing)
- Должен ли я разработать свой графический интерфейс вручную, а затем перегрузить их? (не знаю, возможна ли такая перегрузка у тебя)
или, может быть, я должен определить некоторый «буфер» (поле для целого числа и поле для строки) для переменных, которые я хочу изменить с использованием моего Jbutton, а затем поместить их в класс «probTESTswing»? (+ написать соответствующие функции для обработки другого класса таким образом, чтобы я использовал его функции?)
или, может быть (поскольку моя Number_String не содержит никаких переменных - только функции), переместите эти функции в класс GUI (probTESTswing)
ИЛИ, может быть, я должен использовать некоторые указатели / ссылки? (да, похоже, это то, что мне нужно здесь, к сожалению, указатели / ссылки - это то, о чем я ничего не знаю :(, однако я хотел бы изучить это много, так как это кажется обязательным, как я обнаружил сейчас - трудно найти уроки, которые вы , поскольку, насколько я знаю, указателей нет, и я понятия не имею, как использовать ссылки таким образом, чтобы достичь желаемой функциональности - как вы можете видеть из моей проблемы)
ИЛИ, может быть, есть совершенно другой способ решения именно таких проблем / случаев?
Пожалуйста, просветите меня, я хотел бы «эффективно» решить мою проблему хорошим способом программирования, чтобы учиться эффективным, оптимальным, правильным и быстрым решениям, однако я отчаянно нуждаюсь в помощи, поэтому любые советы очень ценятся.
Привет