Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java
Войти
Регистрация
Восстановить пароль
 
PROchayNIK
0 / 0 / 0
Регистрация: 02.02.2016
Сообщений: 3
1

Использование элемента из ArrayList

02.02.2016, 21:13. Просмотров 260. Ответов 2
Метки нет (Все метки)

Здравствуйте. Изучаю Java. Надо сделать карточную игру "Дурак" на графическом интерфейсе. В ходе разработки программы столкнулся с одной проблемой: после возвращения элемента (типа JLabel) из массива ArrayList не могу этот самый элемент добавить на JFrame с указанием координат и размеров. Помогите пожалуйста. Для ясности привел все классы.
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
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JButton;
import javax.swing.JFrame;
 
public class Main extends JFrame {
    JButton startGame = new JButton("Начать игру");  
    JButton gameRules = new JButton("Правила игры"); 
    JButton options = new JButton("Настройки");  
    JButton developers = new JButton("Разработчики игры"); 
    JButton exit = new JButton("Выход"); 
 
    public Main() { 
        super("Дурак");  
    Dimension sSize = Toolkit.getDefaultToolkit().getScreenSize();  
    this.setBounds((sSize.width - 680)/2, (sSize.height - 680)/2, 680, 680);  
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    Container container = this.getContentPane(); 
    container.setLayout(null); 
 
    startGame.setSize(200, 30); 
    startGame.setLocation(240, 325);  
    container.add(startGame); 
    ActionListener startGameClick = new StartGameClick();
    startGame.addActionListener(startGameClick); 
 
    gameRules.setSize(200, 30); 
    gameRules.setLocation(240, 375); 
    container.add(gameRules); 
 
    options.setSize(200, 30); 
    options.setLocation(240, 425); 
    container.add(options); 
 
    developers.setSize(200, 30); 
    developers.setLocation(240, 475); 
    container.add(developers); 
 
    exit.setSize(200, 30); 
    exit.setLocation(240, 525); 
    container.add(exit); 
    ActionListener exitGame = new ExitClick(); 
    exit.addActionListener(exitGame); 
    } 
 
    public static void main(String[] args) { 
    Main app = new Main(); 
    app.setVisible(true); 
    } 
} 
 
class StartGameClick implements ActionListener {  
    public void actionPerformed(ActionEvent e) {
    Game game = new Game(); 
    game.setVisible(true);  
    } 
} 
 
class ExitClick implements ActionListener { 
    public void actionPerformed(ActionEvent e) { 
    System.exit(0); 
    } 
}
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
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.Random;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
 
 
public class Game extends JFrame {
    static JLabel koloda = new JLabel("", Card.iBackPov, JLabel.CENTER);
    static JLabel bita = new JLabel("", Card.iBack, JLabel.CENTER);
    static JLabel card6 = new JLabel("", Card.iBub_6, JLabel.CENTER);
    static JLabel card7 = new JLabel("", Card.iBub_7, JLabel.CENTER);
    static JLabel card8 = new JLabel("", Card.iBub_8, JLabel.CENTER);
    static JLabel card9 = new JLabel("", Card.iBub_9, JLabel.CENTER);
    static JLabel card10 = new JLabel("", Card.iBub_10, JLabel.CENTER);
    static JLabel card11 = new JLabel("", Card.iBub_v, JLabel.CENTER);
    static JLabel card12 = new JLabel("", Card.iBub_d, JLabel.CENTER);
    static JLabel card13 = new JLabel("", Card.iBub_k, JLabel.CENTER);
    static JLabel card14 = new JLabel("", Card.iBub_t, JLabel.CENTER);
    static JLabel card19 = new JLabel("", Card.iKrt_6, JLabel.CENTER);
    static JLabel card20 = new JLabel("", Card.iKrt_7, JLabel.CENTER);
    static JLabel card21 = new JLabel("", Card.iKrt_8, JLabel.CENTER);
    static JLabel card22 = new JLabel("", Card.iKrt_9, JLabel.CENTER);
    static JLabel card23 = new JLabel("", Card.iKrt_10, JLabel.CENTER);
    static JLabel card24 = new JLabel("", Card.iKrt_v, JLabel.CENTER);
    static JLabel card25 = new JLabel("", Card.iKrt_d, JLabel.CENTER);
    static JLabel card26 = new JLabel("", Card.iKrt_k, JLabel.CENTER);
    static JLabel card27 = new JLabel("", Card.iKrt_t, JLabel.CENTER);
    static JLabel card32 = new JLabel("", Card.iPk_6, JLabel.CENTER);
    static JLabel card33 = new JLabel("", Card.iPk_7, JLabel.CENTER);
    static JLabel card34 = new JLabel("", Card.iPk_8, JLabel.CENTER);
    static JLabel card35 = new JLabel("", Card.iPk_9, JLabel.CENTER);
    static JLabel card36 = new JLabel("", Card.iPk_10, JLabel.CENTER);
    static JLabel card37 = new JLabel("", Card.iPk_v, JLabel.CENTER);
    static JLabel card38 = new JLabel("", Card.iPk_d, JLabel.CENTER);
    static JLabel card39 = new JLabel("", Card.iPk_k, JLabel.CENTER);
    static JLabel card40 = new JLabel("", Card.iPk_t, JLabel.CENTER);
    static JLabel card45 = new JLabel("", Card.iCh_6, JLabel.CENTER);
    static JLabel card46 = new JLabel("", Card.iCh_7, JLabel.CENTER);
    static JLabel card47 = new JLabel("", Card.iCh_8, JLabel.CENTER);
    static JLabel card48 = new JLabel("", Card.iCh_9, JLabel.CENTER);
    static JLabel card49 = new JLabel("", Card.iCh_10, JLabel.CENTER);
    static JLabel card50 = new JLabel("", Card.iCh_v, JLabel.CENTER);
    static JLabel card51 = new JLabel("", Card.iCh_d, JLabel.CENTER);
    static JLabel card52 = new JLabel("", Card.iCh_k, JLabel.CENTER);
    static JLabel card53 = new JLabel("", Card.iCh_t, JLabel.CENTER);
 
    public static int width = 78;
    public static int height = 120;
    int widthB = 120;
    int heightB = 25;
    
    public static JLabel[] kartaLabelList = {card6, card7, card8, card9, card10, card11, card12, card13, card14, card19, card20, card21, card22, card23, card24, card25, card26, card27, card32, card33, card34, card35, card36, card37, card38, card39, card40, card45, card46, card47, card48, card49, card50, card51, card52, card53};
    public static int i;
    public static ArrayList<Object> myList = new ArrayList<Object>();
    
    JButton deal = new JButton("Раздать карты");
    
    public Game() {
    super("Дурак");
    Dimension sSize = Toolkit.getDefaultToolkit().getScreenSize();
    this.setSize(sSize.width, sSize.height); 
    this.setLocationRelativeTo(null);
    this.setResizable(false); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    this.setBackground(Color.gray); 
        
    deal.setSize(widthB, heightB);
    deal.setLocation(1186, 200);
    this.add(deal);
    MouseListener clDeal = new ButClickGame();
    deal.addMouseListener(clDeal);
        
    koloda.setLocation(1186, 340);
    koloda.setSize(height, width);
    this.add(koloda);
    MouseListener clKoloda = new Click();
    koloda.addMouseListener(clKoloda);
        
    this.add(new Table());
    this.setVisible(true);
    }
    
    public static void rasdacha() {
    for(i = 0; i < kartaLabelList.length; i++) {
            myList.add(kartaLabelList[i]);
    }
    System.out.println(i);
    int rand = (int) (Math.random() * kartaLabelList.length);
    Game.add(myList.get(rand));
 
    }
 
    public static void add(Object object) {}
}
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
import javax.swing.ImageIcon;
 
public class Card {
    
    public Card() {}
    
    public static ImageIcon iBub_6 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_6.jpg");
    public static ImageIcon iBub_7 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_7.jpg");
    public static ImageIcon iBub_8 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_8.jpg");
    public static ImageIcon iBub_9 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_9.jpg");
    public static ImageIcon iBub_10 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_10.jpg");
    public static ImageIcon iBub_v = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_v.jpg");
    public static ImageIcon iBub_d = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_d.jpg");
    public static ImageIcon iBub_k = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_k.jpg");
    public static ImageIcon iBub_t = new ImageIcon("C:/Java/Workspace/Durak/src/cards/bub_t.jpg");
    public static ImageIcon iKrt_6 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_6.jpg");
    public static ImageIcon iKrt_7 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_7.jpg");
    public static ImageIcon iKrt_8 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_8.jpg");
    public static ImageIcon iKrt_9 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_9.jpg");
    public static ImageIcon iKrt_10 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_10.jpg");
    public static ImageIcon iKrt_v = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_v.jpg");
    public static ImageIcon iKrt_d = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_d.jpg");
    public static ImageIcon iKrt_k = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_k.jpg");
    public static ImageIcon iKrt_t = new ImageIcon("C:/Java/Workspace/Durak/src/cards/kr_t.jpg");
    public static ImageIcon iPk_6 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_6.jpg");
    public static ImageIcon iPk_7 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_7.jpg");
    public static ImageIcon iPk_8 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_8.jpg");
    public static ImageIcon iPk_9 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_9.jpg");
    public static ImageIcon iPk_10 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_10.jpg");
    public static ImageIcon iPk_v = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_v.jpg");
    public static ImageIcon iPk_d = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_d.jpg");
    public static ImageIcon iPk_k = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_k.jpg");
    public static ImageIcon iPk_t = new ImageIcon("C:/Java/Workspace/Durak/src/cards/pk_t.jpg");
    public static ImageIcon iCh_6 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_6.jpg");
    public static ImageIcon iCh_7 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_7.jpg");
    public static ImageIcon iCh_8 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_8.jpg");
    public static ImageIcon iCh_9 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_9.jpg");
    public static ImageIcon iCh_10 = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_10.jpg");
    public static ImageIcon iCh_v = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_v.jpg");
    public static ImageIcon iCh_d = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_d.jpg");
    public static ImageIcon iCh_k = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_k.jpg");
    public static ImageIcon iCh_t = new ImageIcon("C:/Java/Workspace/Durak/src/cards/ch_t.jpg");
    public static ImageIcon iBackPov = new ImageIcon("C:/Java/Workspace/Durak/src/cards/backPov.jpg");
    public static ImageIcon iBack = new ImageIcon("C:/Java/Workspace/Durak/src/cards/back.jpg");
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
 
import javax.swing.ImageIcon;
import javax.swing.JPanel;
 
public class Table extends JPanel {
    Image stolBack = new ImageIcon("C:/Java/Workspace/Durak/src/cards/stol.jpg").getImage();
    public Table() {}
    public void paint(Graphics g) {
    g = (Graphics2D) g;
    g.drawImage(stolBack, 0, 0, null);          
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.awt.Component;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
 
public class ButClickGame implements MouseListener {
    public void mouseClicked(MouseEvent arg0) {
    Game.rasdacha();    
    }
 
    @Override
    public void mouseEntered(MouseEvent arg0) {}
 
    @Override
    public void mouseExited(MouseEvent arg0) {}
 
    @Override
    public void mousePressed(MouseEvent arg0) {}
 
    @Override
    public void mouseReleased(MouseEvent arg0) {}
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2016, 21:13
Ответы с готовыми решениями:

Обращение к элементам arraylist, который в другом arraylist
Здравствуйте. У меня есть arraylist типа arraylist. А уже каждый внутренний...

Строку ArrayList в число
TimeTotal= TimeTotal + Long.parseLong(TimeRequest.get(i)); TimeTotal имеет...

Удаление из ArrayList дубликатов
нагуглил такой способ ArrayList&lt;testBean&gt; myList = new ArrayList&lt;testBean&gt;();...

Кодировка ArrayList
Работаю в IntelJJ IDEA Кодировки UTF-8. Проблема заключается в том,что после...

Отсортировать arrayList
Есть ArrayList вот таких объектов: class Channel { int id = 0; ...

2
Pablito
2767 / 2198 / 744
Регистрация: 12.05.2014
Сообщений: 7,719
Завершенные тесты: 1
03.02.2016, 11:41 2
много кода, разбирайся сам
0
reisal78
907 / 657 / 221
Регистрация: 28.04.2013
Сообщений: 1,864
03.02.2016, 13:50 3
PROchayNIK, а ведь Паблито в чем то прав. Мне например совершенно не хочется вникать в гору какого то непонятного кода. Вы либо выделите то что не получается в какой то маленький тестовый класс. Либо поучитесь (очень пригодится) пользоваться VCS Git: инструкция по применению и выложите весь проект на гитхабе.
По коду что сразу бросилось в глаза: избавляйтесь от абсолютных путей к файлам ресурсов (гуглим "относительный путь java")
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2016, 13:50

Использование контейнера ArrayList
Возникла проблема При использовании ArrayList using System; using...

ArrayList. Безопасное использование в потоках
Доброе время суток! Возник вопрос: При работе с ArrayList в многопоточном...

Удаление элемента из ArrayList
Доброго времени суток, уважаемые форумчане! Возникла проблема в процессе...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru