2012-04-30 4 views
2

Начал создавать простой графический интерфейс с использованием netbeans, и теперь у меня возникла какая-то проблема.Результат Java на JTextField

У меня есть это:

package my.sccsymapp; 

public class sccsymapp extends javax.swing.JFrame { 
    /*SOME CODE*/          
    public static void main(String args[]) { 
     /*SOME CODE*/ 
    } 
    // Variables declaration - do not modify 
    private javax.swing.JTextField tempmedespCost; 
    // End of variables declaration 
} 

Если я запускаю это, он работает, как ожидалось. test размещен на моем JTextField.

Но я хочу использовать tempmedespCost.setText("test"); в другом классе моего кода.

У меня есть этот класс:

package my.sccsymapp; 

import java.util.*; 

public class Servico extends sccsymapp{ 
    /*SOME CODE*/ 
    public void relat(){ 
    /*SOME CODE*/ 
    tempmedespCost.setText("test"); 
    } 
    /*SOME CODE*/ 
} 

Теперь говорит:

tempmedespCost has private access in my.sccsymapp.sccsymapp

Так что я изменил tempmedespCost публике.

Теперь ошибка не отображается, работает без ошибок, но test не помещается на мой JTextField.

Можете ли вы указать мне в определенном направлении?

+3

"* Можете ли вы указать мне в определенном направлении? *" Да, не используйте GUI-сборщики. – user1329572

+0

Плохо подготовленный код: Simulador показан, но не имеет значения для проблемы. Команды Gui-builder '// TODO добавьте ваш код обработки здесь:' не удаляются. Когда вы разместите код обработки, удалите комментарий. Когда вы поняли, что вам нужно вставить свой код в принципе, удалите комментарий из шаблона. –

+0

@userunknown Хорошо. Забыл снять это. Отредактировано сейчас – Favolas

ответ

5

tempmedespCost определяется как частное в классе

private члены могут быть присоединились только функциями, которые являются членами класса. Дети класса (например, Servico) не могут получить доступ к закрытым полям.

Вы можете изменить видимость tempmedespCost в защищенный или создать поглотитель, который позволит вам получить доступ к tempmedespCost

Я предлагаю вам прочитать документацию о видимости Java в Controlling Access to Members of a Class.

+0

Привет. что если 'tempmedespCost' является' public'or 'protected', он должен работать, но хотя программа не дает мне предупреждения, это не работает должным образом. Понял часть сборщика и сеттер, но теперь просто хочу понять, почему 'public'or' protected' arn't working – Favolas

+0

@Favolas: Вы уверены, что 'protected' не работает, так как оба класса находятся в одном пакете, поэтому ничего имея «Access Specifier» как «защищенный» в одном пакете, будет работать как «public». Так как вы собираетесь окунуться в «Мир свинг», перейдите в простой текстовый редактор вместо использования «IDE» для создания своих программ. –

+0

@nIcEcOw Не знаю, как я не работал. Вероятно, что-то не так. Следуя предложению «Эстрагон» и заставил его работать с геттерами и сеттерами – Favolas

Смежные вопросы