Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
5 / 5 / 3
Регистрация: 25.07.2016
Сообщений: 182

Как правильно "вставить" метод в actionPerformed

28.02.2019, 21:19. Показов 589. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, всем доброго времени суток ...
Вопрос в тексте игрушки ...
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
//Live.groovy
package groovy
import groovy.swing.SwingBuilder
import javax.swing.*
import java.awt.FlowLayout
import java.util.*
import java.awt.*
import java.awt.event.*
 
jfrm = new JFrame('Игра "Live"')
gbag = new GridBagLayout()
gbc  = new GridBagConstraints()
gbc.fill = GridBagConstraints.BOTH
jfrm.getContentPane().setLayout(gbag)
jfrm.setSize(550, 550)
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
btnDim = new Dimension(50, 50)
gbc.weightx = 0.0       
gbc.insets  = new Insets(0, 0, 0, 0)
 
k = (int)Math.round(Math.random()*10)
if (k in 3..10) {n = k} else {n = 7}
q = n**2
order = Spisok()
Tablica()
jfrm.setVisible(true)
 
def Spisok () {
    order = []
    for (i in 0..<q) {        
      T = Math.round(Math.random()*1)
       if (T == 1) {order += "X"} else {order += ""}
   }
      order 
}
def Tablica () {  
    jbtnCh = new ArrayList()
  for (I in 0..<q) {     
    jfrm.getContentPane().remove(jbtnCh[I])
    jbtnCh[I] = new JButton(text: order[I], actionPerformed: {e -> e.getSource()./*Как правильно вставить сюда Tablica()*/ })
    Y = (int)(I/n); X = I%n
    gbc.gridy = Y+1; gbc.gridx = X+1  
    jbtnCh[I].setPreferredSize(btnDim)   
    gbag.setConstraints(jbtnCh[I], gbc)
    jfrm.getContentPane().add(jbtnCh[I])    
   }
   order = sozdanie(); order
}
def sozdanie() { 
  order1 = []
   def W  = {order[f] == "X" && (Xs += 1)}
   def W0 = {p != 0 && W{}}
   def W1 = {p != 1 && W{}}
   def X  = {order1 += "X"}
   def O  = {order1 += ""}
     for (i in 0..<q) {
       Xs = 0; p = (i+1)%n          
        if (((f = i-n)   >= 0  &&  W{} ) |
            ((f = i-n+1) >= 0  &&  W0{}) |
            ((f = i+1)   <  q  &&  W0{}) |
            ((f = i+n+1) <  q  &&  W0{}) |
            ((f = i+n)   <  q  &&  W{} ) |
            ((f = i+n-1) <  q  &&  W1{}) |
            ((f = i-1)   >= 0  &&  W1{}) |
            ((f = i-n-1) >= 0  &&  W1{})) {        
          switch (Xs) {          
               case 2 : if (order[i] == "X") {X{}} else {O{}}; break
               case 3 : X{}; break        
               default: O{}
         }
      }         else {O{}} 
   }    
    order1
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2019, 21:19
Ответы с готовыми решениями:

Не срабатывает метод actionPerformed по таймеру из inner класса, пример из Хортсмана
опять таки пример из книги, всё компилируется но метод actionPerformed не выполняется, разница в моём исполнении и в книжном лишь в...

Метод lfind(), как правильно написать метод сравнения?
Всем привет. У меня задача предельно проста. Есть массив char M;, В него пихаем всё, что содержится в файле while(!(feof(f))) { ...

Как правильно вставить ?
ИСХОДНЫЙ КОД {%MODULECONTENT%} &lt;div class=&quot;line&quot;&gt;&lt;/div&gt; &lt;div class=&quot;container&quot;&gt; &lt;div class=&quot;row...

3
5 / 5 / 3
Регистрация: 25.07.2016
Сообщений: 182
01.03.2019, 08:02  [ТС]
Вот так тоже не получается ...
Java
1
jbtnCh[I] = new JButton(text: order[I], actionPerformed: {e -> e.getSource().addActionListener(Tablica())})
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
02.03.2019, 23:29
Slenon,

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
 
public class Wind extends JFrame {  
    public Wind() {
        super.setTitle("Window");
        this.setSize(800, 600);     
        
        this.getContentPane().setLayout(new FlowLayout());      
        this.setVisible(true);
        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);        
        JButton[] buttons = new JButton[2];     
        buttons[0] = new JButton("Test");
        buttons[0].addActionListener(e -> {System.out.println("Tablica()");});
        this.getContentPane().add(buttons[0]);
    }
 
    
    public static void main(String[] args) {
        new Wind();
    }
}
0
5 / 5 / 3
Регистрация: 25.07.2016
Сообщений: 182
31.03.2019, 10:58  [ТС]
Извиняюсь, что опять вывешиваю "простыню", но
для того чтобы работа проги полностью удовлетворяла
меня, осталось сделать один шаг ...
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
//Live.groovy
package groovy
import groovy.swing.SwingBuilder
import javax.swing.*
import java.awt.FlowLayout
import java.util.*
import java.awt.*
import java.awt.event.*
 
jfrm = new JFrame('Игра "Live"')
gbag = new GridBagLayout()
gbc  = new GridBagConstraints()
gbc.fill = GridBagConstraints.BOTH
jfrm.getContentPane().setLayout(gbag)
jfrm.setSize(550, 550)
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
btnDim = new Dimension(50, 50)
gbc.weightx = 0.0       
gbc.insets  = new Insets(0, 0, 0, 0)
 
k = (int)Math.round(Math.random()*10)
if(k in 3..10) {n = k} else {n = 7}
q = n**2
order = Spisok()
Tablica()
jfrm.setVisible(true)
 
def Spisok() {
    order = []
    for(i in 0..<q) {        
      T = Math.round(Math.random()*1)
       if(T == 1) {order += "X"} else {order += ""}
   }
      order 
}
def Tablica() {  
    jbtnCh = new ArrayList()
  for(I in 0..<q) {     
    jbtnCh[I] = new JButton(text: order[I], actionPerformed: {remove_Tabl(); Tablica()})
    gbc.gridy = (int)(I/n)+1; gbc.gridx = I%n+1  
    jbtnCh[I].setPreferredSize(btnDim)   
    gbag.setConstraints(jbtnCh[I], gbc)
    jfrm.getContentPane().add(jbtnCh[I])    
   }
   order = new_List()
}
def remove_Tabl() {
  for(I in 0..<q) {     
    jfrm.getContentPane().remove(jbtnCh[I])
   }
}
def new_List() { 
  order1 = []
   def W  = {order[f] == "X" && (Xs += 1)}
   def W0 = {p != 0 && W{}}; def W1 = {p != 1 && W{}}
   def X  = {order1 += "X"}; def O  = {order1 += ""}
     for(i in 0..<q) {
       Xs = 0; p = (i+1)%n          
        if(((f = i-n) >= 0 && W{} ) | ((f = i-n+1) >= 0 && W0{}) |
           ((f = i+1) <  q && W0{}) | ((f = i+n+1) <  q && W0{}) |
           ((f = i+n) <  q && W{} ) | ((f = i+n-1) <  q && W1{}) |
           ((f = i-1) >= 0 && W1{}) | ((f = i-n-1) >= 0 && W1{})) {        
          switch(Xs) {          
               case 2 : if(order[i] == "X") {X{}} else {O{}}; break
               case 3 : X{}; break        
               default: O{}
         }
      }         else {O{}} 
   }    
    order1
}
Проблема заключается в следующем - при нажатии на кнопку (на любую)
изменение изображения не происходит! Но если сразу после нажатия кнопки
"Свернуть" окно с изображением, а потом "Развернуть", то изменение изображения
происходит …
Вопрос - как надо изменить код чтобы прога работала корректно …
Т. е. чтобы изменение изображения происходило сразу после нажатия кнопки ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.03.2019, 10:58
Помогаю со студенческими работами здесь

Как правильно вставить в SQL
$sel=mysql_query(&quot;SELECT * FROM mes_u_v WHERE us_id=&quot;.$us.&quot; AND id_s=&quot;.$ser.&quot; AND sez_n=&quot;.$sez.&quot;&quot;); $sel_all = mysql_fetch_assoc($sel); ...

Как правильно вставить переменную?
Всем привет! Столкнулся с нестандартной ситауцией. Нужно вставить переменную, но непонятно как это сделать. В итоге должна получиться...

как вставить правильно формулу
В ячейках есть цифры и буквы разного алфавита в общем итоге автоматически как сложить по отдельность цифры и буквы по алфавиту (буквы в...

Как правильно вставить рамку?
Здравствуйте, уважаемые гуру, подскажите по поводу рамок. Я вставил рамку со штампом через колонтитулы, скопировав ее из другого файла....

Как правильно вставить переменную?
Вот программа: #include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;fstream&gt; #include &lt;stdio.h&gt; #include &lt;string&gt; #include...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru