Сначала я хотел бы сказать, что я работал с java только 1 месяц. Это довольно простой вопрос. Я искал и классический пример фруктов не имел никакого смысла для меня. Я часами смотрел на него и пытался понять, как применить это, чтобы заставить его работать. Это не имеет никакого смысла для меня, потому что каждый объясняет, как получить и установить свойство с 2 строками кода и без инструкций структуры. Я бы очень признателен за прорыв в том, как разговаривать с нестационарным статичным.Может кто-нибудь объяснить, как setText из статики, используя мой пример?
Я хотел бы установитьText в текстовом поле в моем классе OBD2nerForm из отдельного и статического класса.
public class OBD2nerForm extends java.awt.Frame {
/** Creates new form OBD2nerForm */
public OBD2nerForm() {
initComponents();
} ....................................
public String setText(String text){
this.jFormattedTextField1.setText(text);
}
Я думаю, что у меня есть статическая ссылка на этот экземпляр формы, определенную здесь ..
public class Status {
public static OBD2nerForm form = new OBD2nerForm();
он вызывается из моих основных, как этого
public class obd2ner {
public static void main(String[] args) throws IOException {
Status.form.main(args);
Тогда, когда я пытаюсь называть его .. Status.form.getText дает мне начальные значения при создании формы. Когда я устанавливаюText, он не меняет тот, который отображается на экране.
Я просто показываю это, чтобы это было просто. Есть много других частей. У меня есть статический монитор на последовательном порту, и я хочу, чтобы он захватил следующие данные, которые будут отправлены из текстового поля, а затем увеличит его.
Я просто не понимаю, как использовать геттер и сеттер на нестатических. Это не совсем то, что мне нужно для этого. Кажется, что я вижу один экземпляр на своем экране, и он использует новый экземпляр для выполнения настройки и настройки.
Я попытался это как в ответ я получил, но это не работает ...
public class OBD2nerForm extends java.awt.Frame {
String X = "";
// Попытка вне работоспособный метода приращения коды общественности Строки getNewScannerValueRunnable() {
Runnable doWorkRunnable = new Runnable() {
@Override
public void run() {
Status.form.getNewRotatingValue()
;}
};
SwingUtilities.invokeAndWait(doWorkRunnable);
return X;
}
Я мог бы использовать некоторые другие предложения. я просто не понимаю, что должно произойти здесь.
Я попытался это, но он не работает ... общественного Строка getNewScannerValueRunnable() { Runnable doWorkRunnable = новый Runnable() { @Override общественности недействительным запуска() {Status.form.getNewRotatingValue();} }; SwingUtilities.invokeAndWait (doWorkRunnable); возвращение X; } Строка X = ""; Должен ли я просто ставить все мои форматированныеTextBoxes? –
Нет, все, что статично, только усложнит вашу жизнь. Я отредактировал свой ответ, чтобы указать на некоторые из ваших проблем, и, надеюсь, это поможет вам выправить вашу программу. В качестве альтернативы, я настоятельно рекомендовал бы более детально изучать программирование графического интерфейса, внимательно следя за учебным пособием или двумя - ваша основная проблема, как вам известно, - это отсутствие общих знаний по программированию на Java. Но это нормально всего 1 месяц. –
Спасибо. Вы помогли мне ... Видимо, я ссылался на form.main(), который создает новую форму. Все, что мне нужно было сделать, было form.setvisible. Я смотрел новую форму, и в фоновом режиме бегала невидимая форма. –