Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95

Как вызвать стринг из одного класса чтобы он был виден в другом классе?

20.03.2014, 18:30. Показов 3563. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня всем,у меня появился вопрос по классам.
И так,у меня есть 2 класса ProcessClass.java и My30.java.В процессе ProcessClass.java находится код сканирующий процессы компьютера и записывающий все в String line; в потом в String[] data.
Потом в классе My30.java мне надо вызвать этот класс(ProcessClass.java) чтобы String[] data использовался в My30.java если просто вызвать ProcessClass.java,то он не видит data
Как сделать так что бы увидел?




На скринах все видно.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.03.2014, 18:30
Ответы с готовыми решениями:

Как вызвать метод из одного класса чтобы он был виден в другом классе?(Отсылка от старой темы)
Добрый вечер,Я почти разобрался только у меня последний вопрос Как исправить?Смотрите скрин. Надо что бы не было такой ошибки. В...

Как вызвать метод одного класса в другом?
У меня есть два отдельных класса. Вопрос, как вызвать метод одного класса в другом? что-то слышал о экземпляре класса, указатели, но так...

Вызвать метод класса в другом классе
Подскажите как мне вызвать метод класса в другом классе ?

22
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
20.03.2014, 18:42
может бить он видит просто значение равно нулю?
может бить сделай поле line статическим
0
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 19:02  [ТС]
IVIakCollideR, Нет надо обязательно чтобы data передавалась в My30
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
20.03.2014, 19:15
Цитата Сообщение от Java_people Посмотреть сообщение
Нет надо обязательно чтобы data передавалась в My30
то нада что бы "дата" или что бы "лайн" передавался?

Добавлено через 1 минуту
и в чем суть массива "дата" что он у тебя делает?
0
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 19:18  [ТС]
IVIakCollideR, Массив data потом помещается в JList(в него только массив пихнуть можно)
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
20.03.2014, 19:28
ну так "дат" не видно, или он все таки просто пустой? (в лейбле не отображается ничего)?
0
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 19:30  [ТС]
IVIakCollideR, Jlist(класс My30.java) не видит data из другого класса(ProcessClass.java)
0
16 / 16 / 10
Регистрация: 17.03.2014
Сообщений: 59
20.03.2014, 19:31
Обяви обект класса ProcessList и обращайся к его переменной.
0
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 19:34  [ТС]
M_Kenan, Можешь расписать?
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
20.03.2014, 19:36
Лучший ответ Сообщение было отмечено Java_people как решение

Решение

а ну так сделай ссылку, он же не видит переменную с другого пакета, она локальная выходит.
В классе MyFrame попробуй создай обьект класса ProcessClass:
Java
1
ProcessClass procClass = new ProcessClass();
потом в конструктор листа передавай значение типа:
Java
1
JList label = new JList(procClass.dat);
Добавлено через 46 секунд
с другого КЛАССА хотел сказать*
2
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 19:49  [ТС]
IVIakCollideR, секунду
0
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 19:49  [ТС]

Я нуб либо не понял.
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
20.03.2014, 19:54
у вас она не видит обьект процесскласа.
значит или так:
Цитата Сообщение от IVIakCollideR Посмотреть сообщение
В классе MyFrame попробуй создай обьект класса ProcessClass
или в Му30 как поле класса создаете этот обьект.
1
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 20:25  [ТС]
Я почти разобрался только у меня последний вопрос
Как исправить?Смотрите скрин.



Надо что бы не было такой ошибки.
В класс main не получается,потому что тогда
Java
1
JList list1 = new JList(bu.data);
Не видит bu.data.[/SIZE]
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
20.03.2014, 20:34
эммм)
Ну ладно, возьми и вынеси создание этого "бейс утилите" в Му30, НЕ В ЕГО МЕТОД маин, а именно в качестве поля класса

Добавлено через 1 минуту
класс Frame у тебя внутренний??
1
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 20:36  [ТС]
IVIakCollideR, Может пригодится не не,то спасибо все равно поставлю.
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
20.03.2014, 20:44
Java_people, то работает или нет в конце то концов?

Добавлено через 1 минуту
если нет, то запили сам код, посмотрю что за незадача
0
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 21:10  [ТС]
IVIakCollideR, Там большой код)
+ 2 класса
Отправлять?
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
20.03.2014, 21:17
ну кинь, можно глянуть, странно что он не работает по тем рекомендациям что я тебе давал
0
3 / 3 / 0
Регистрация: 18.03.2014
Сообщений: 95
20.03.2014, 21:30  [ТС]
IVIakCollideR,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
package javaapplication1;
 
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
 
 
 
public class My30
{
    @SuppressWarnings("empty-statement")
    public static void main(String[] args)
    {
       MyFrame gui = new MyFrame(0,0);
       gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       gui.show();
        try {
            FileLog fl = new FileLog();
        } catch (IOException ex) {};
        
      }
   }
 
 
 
class MyFrame extends JFrame
{
    BaseUtils bu = new BaseUtils();
    JList list1 = new JList(bu.data);
    String line = "Lalka";
    String[] items = {
                         "Выберите Действие",
                         "Закрыть процесс",
                         "Командная строка",
                         "Процессы Диспетчера"
                         };
       JComboBox comboBox = new JComboBox(items);
    JTextField textField = new JTextField();
    JTextField textField1 = new JTextField();;
    JLabel label2 = new JLabel("Выберите Действие");
    JLabel l3 = new JLabel("Активация:");
    JButton b2 = new JButton("Удалить файл");
    JButton b4 = new JButton("Активировать");
    JButton b1 = new JButton("Выполнить действие");
    JButton b3 = new JButton("Закрыть приложение");
    JCheckBox rb1 = new JCheckBox();
    JProgressBar progressBar = new JProgressBar();
    JLabel lab = new JLabel("Админ параметры:");
    ImageIcon icon = new ImageIcon("iconMain.png");       
    JButton b5 = new JButton("qwe",icon);
    
ActionListener actionListener1 = new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
          JComboBox box = (JComboBox)e.getSource();
          String item = (String)box.getSelectedItem();
          label2.setText(item);
    }
};
 
ActionListener actionListener2 = new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
      String way1 = textField.getText();
    if(e.getSource()==b2){
        String wayDelete = textField.getText();
        File w = new File(wayDelete); 
         if(w.exists()){
            w.delete();
            JOptionPane.showMessageDialog(null, "Файл успешно удален " + w);
         }
         else{
             JOptionPane.showMessageDialog(null, "Файл не найден.");
         }
     }
    }
};
 
ActionListener actionListener3 = new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
     String textCombo = label2.getText();
     String proName = textField.getText();
     String t1 = "Командная строка";
     String t2 = "Закрыть процесс";
     String t3 = "Выберите Действие";
     String t4 = "Процессы Диспетчера";
      if(e.getSource()==b1){
            if(textCombo.equals(t1)){
             JOptionPane.showMessageDialog(null, "Поле для ввода отключенно.На время использования Командной строки");
            try {
                Runtime.getRuntime().exec("cmd /C start");
                textField.setEnabled(false);
                } catch (IOException ex) {}
            }
         if(textCombo.equals(t2)){
         try {
               Runtime.getRuntime().exec("cmd /C start taskkill /IM " + proName);
               JOptionPane.showMessageDialog(null, "Процесс успешно завершенн " + proName); 
               textField.setEnabled(true);
              } catch (IOException ex) {JOptionPane.showMessageDialog(null, "Процесс не закрыт " + proName);}
         }
         if(textCombo.equals(t3)){
          JOptionPane.showMessageDialog(null, "Выберите Действие.");   
          textField.setEnabled(true);
         }
         if(textCombo.equals(t4)) {
             
             
             
             
         }
       }
    }
};
ActionListener actionListener4 = new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
      if(e.getSource()==b3){
          try {
               Runtime.getRuntime().exec("cmd /C start taskkill /IM javaw.exe");
              } catch (IOException ex) {}
      }
    }
};
ActionListener actionListener5 = new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
      if(e.getSource()==rb1){
      progressBar.setIndeterminate(true);
      JOptionPane.showMessageDialog(null, "Дополнительные параметры активированны.");
      comboBox.setEnabled(true);
 
      }
    }
};
 
ActionListener actionListener6 = new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        String pass = "2014";
        String passTest = textField1.getText();
      if(e.getSource()==b4){
        if(passTest.equals(pass)){
             rb1.setEnabled(true);
             b1.setEnabled(true);
             textField.setEnabled(true);
             JOptionPane.showMessageDialog(null, "Активация прошла успешно.");
          }
        else{JOptionPane.showMessageDialog(null, "Введённ неверный код активации.");
        }
 
      }
    }
};
    
    public MyFrame(int x,int y)
    {
        setTitle("Programm by Shevelev");
        setSize(500, 300);
        setFocusable(false);
        MyPanel panel = new MyPanel();
        Container pane = getContentPane();
        pane.add(panel);
        JLabel label1 = new JLabel("Функция:");
        panel.add(b1);
        panel.add(b2);
        panel.add(b3);
        panel.add(label1);
        panel.add(label2);
 //     panel.add(b5);
 //     panel.add(progressBar);
         textField.setColumns(40);
         textField1.setColumns(10);
         panel.add(textField);
         panel.add(progressBar, BorderLayout.SOUTH);
         panel.add(lab, BorderLayout.EAST);
         panel.add(rb1, BorderLayout.EAST);
         rb1.setEnabled(false);
         panel.add(comboBox);
    //    panel.add(list1);
    //     list1.setEnabled(false);
    //     list1.setLayoutOrientation(JList.VERTICAL);
         comboBox.setEnabled(false);
         b1.setEnabled(false);
         textField.setEnabled(false);
         panel.add(l3, BorderLayout.SOUTH);
         panel.add(textField1, BorderLayout.EAST);
         panel.add(b4, BorderLayout.NORTH);
         comboBox.addActionListener(actionListener1);
         b2.addActionListener(actionListener2);
         b1.addActionListener(actionListener3);
         b3.addActionListener(actionListener4);
         b4.addActionListener(actionListener6);
         rb1.addActionListener(actionListener5);
         // setEnabled(false)
    }     
 
}
   class MyPanel extends JPanel        
   {
     private Image im;
     private Image ic;
     public MyPanel()
     {
      try
      {
          im = ImageIO.read(getClass().getResource("skachat-cd-disk-slender-727-large.jpg"));
          ic = ImageIO.read(getClass().getResource("iconMain.png"));
      }
      catch (IOException exception){System.out.println("Lalka");}
     }
     @Override
     public void paintComponent(Graphics g)
     {
         super.paintComponent(g);
         g.drawImage(im, -100, -75, null);
         g.drawString("Lalka you", 15, 15);
     } 
   }
Без 1 строчки код работает без ProcessClass
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.03.2014, 21:30
Помогаю со студенческими работами здесь

Вызвать конструктор произвольного класса в другом классе
Здравствуйте! Есть необходимость вызвать конструктор какого-либо класса в методе другого класса. Примерно так: class A{}; class B:...

Как из одного потока вызвать метод таким образом, чтобы он выполнялся в другом потоке
Значит имеется некая активность, которая запускает сервер по нажатии кнопки, этот сервер в свою очередь запускает выполнение своей фоновой...

Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?
Как объявить массив объектов одного класса в другом классе, а затем поместить в него объекты?

Вызов метода одного класса в другом классе
Привет всем Когда запускаю, то в методе GetOut() вместо имени человека выводится цифра 1 Помогите пожалуйста, заранее спасибо. ...

Использование данных одного класса в другом классе
Подскажите как сделать так что бы значения d1,d2 из первого класса можно было использовать во втором классе? #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru