Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Java
Перезагрузить страницу Groovy & Swing
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
ayax ayax вне форума
Member
 
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 18.08.2016
По умолчанию Groovy & Swing - 18.10.2017, 20:29

Пишу игрушку puzzle - два вопроса в тексте ...
Java Код:
//puzzle.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('N-размерный puzzle')
gbag = new GridBagLayout()
gbc  = new GridBagConstraints()
jfrm.getContentPane().setLayout(gbag)
jfrm.setSize(500, 500)
btnDim  = new Dimension(50, 50)
gbc.weightx = 0.0      
gbc.insets  = new Insets(0, 0, 0, 0)

public class Spisok_2 {def spisok_2 (N) { Spisok m1 = new Spisok(); def   order1 = m1.spisok(N); return order1}}
                       def spisok (N) { m2 = new Spisok_2();  order1 = m2.spisok_2(N)}
H = "X"                      
N = 5
chisla = spisok(N)
dl = chisla.size()
def naprav () {q = 3; w = 3; [q, w]}
for (int I = 0; I < dl; I++) {
  Y = (int)(I/N); X = I%N  
  jbtnCh = new JButton(text: chisla[I],  actionPerformed: {jbtnCh.setText(H)})
//Как сделать так, чтобы при нажатии на любой кнопке, имено она именовалась "X",
//а не последняя, как происходит сейчас?...
  //jbtnCh = new JButton(text: chisla[I],  actionPerformed: {def (X, Y) = naprav()})
//Как сделать так, чтобы при нажатии на любой кнопке, значения X и Y из JButton(...)
//передавались в gbc.gridy = Y; gbc.gridx = X
  gbc.gridy = Y; gbc.gridx = X
  jbtnCh.setPreferredSize(btnDim)  
  gbag.setConstraints(jbtnCh, gbc)
  jfrm.getContentPane().add(jbtnCh)
   }
jfrm.setVisible(true)
Java Код:
//Spisok.groovy
package groovy
  public class Spisok {
    Integer S, J, T, Q
    List order, order1
    def spisok (N) {
    S = (N as Integer  )** 2 - 1
    order = [0]; Q = 0
  while (Q <= S) {
     J = 0; T = Math.round(Math.random() * S)
    if (T != 0) {for (i in order) {if (T != i) {++J} }
      if (J == order.size()) {order = order + T}
         }
       Q = order.size()
      }
    order1 = order - 0 + ""
   }
}
Ответить с цитированием
  (#2 (permalink)) Старый
ayax ayax вне форума
Member
 
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 18.08.2016
По умолчанию 20.10.2017, 02:07

1.
Java Код:
actionPerformed: {e -> e.getSource().setText(H)}
2. Мне показали что вопрос ни о чём ...
Ответить с цитированием
  (#3 (permalink)) Старый
ayax ayax вне форума
Member
 
Сообщений: 63
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 18.08.2016
По умолчанию 09.02.2018, 23:19

Вот на этом я застрял
Java Код:
N = 3
chisla = [1, 2, 3, 4, 5, 6, 7, 8]//spisok(N)
Tablica(N)
jfrm.setVisible(true)

def Tablica(N) {for (int I = 0; I < N**2 - 1; I++) {knopka(N, I)}}
def knopka(N, I) {  
  Y = (int)(I/N); X = I%N
  jbtnCh = new JButton(text: chisla[I], actionPerformed: {e -> e.getSource().setText(null); Poisk(N, I)})    
  gbc.gridy = Y+1; gbc.gridx = X+1  
  jbtnCh.setPreferredSize(btnDim)  
  gbag.setConstraints(jbtnCh, gbc)
  jfrm.getContentPane().add(jbtnCh)
}
def Poisk(N, I) {    
  if (((F = I-N) >= 0     &&  chisla[F] == null) ||
      ((F = I+1) <  N**2  &&  chisla[F] == null) ||
      ((F = I+N) <  N**2  &&  chisla[F] == null) ||
      ((F = I-1) >= 0     &&  chisla[F] == null))
      {chisla[F] = chisla[I]; knopka(N, F); chisla[I] = null}    
}
В данный момент мне надо знать что надо поместить вместо setText(null), что-бы кнопка удалялась, и как поместить полученное в ветку then метода def Poisk(N, I) , что-бы удалялась только кнопка соседняя с пустым полем ...
Java Код:
//Spisok.groovy
package groovy
  public class Spisok {
    Integer S, J, T, Q
    List Order
def spisok (N) {
    S = (N as Integer  )**2 - 1
    Order = [0]; Q = 0
  while (Q <= S) {
     J = 0; T = Math.round(Math.random() * S)
    for (i in Order) {if (T != i) {++J}}
      if (J == Order.size()) {Order = Order + T}        
       Q = Order.size()
      }
    Order = Order - 0
   }
}
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод/вывод в Groovy ayax Java 5 08.03.2017 10:13
Как запустить swing приложение не из под eclipse DSSKIN Eclipse 1 30.08.2011 18:31
Как работать с таблицей в Swing ievtam Java 2 24.06.2009 01:34
Разработчик пользовательского интерфейса (Java, Swing) shtaty Работа 0 04.08.2006 14:02
Java Swing Senior Developer Bamse Работа 0 12.06.2006 18:11
срочно нужен Senior Java Swing Developer Bamse Работа 1 17.03.2006 17:09
Как выбрать swing. цвет компонента ИА Java 1 20.12.2005 16:16
Статусбар в Swing строка состояния artgonch Java 4 04.05.2005 14:03
Доступ к Swing-функциям из C++ _Cyclope Java 1 13.04.2005 07:44
Использование коспонентов Swing Gremlin Java 0 17.04.2004 14:33



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов