Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73

Скажите, как можно сделать похожий интерфейс с помощью swing?

15.03.2013, 10:54. Показов 1379. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Скажите, как можно сделать похожий интерфейс с помощью swing ?

Если я правильно понимаю это нужно делать с помощью 3 панелей?(верхник кнопки, поле, нижняя надпись)

Как делать поле? Просто нарисовать линии? А потом считывать координаты щелчка и определять где это было?
Миниатюры
Скажите, как можно сделать похожий интерфейс с помощью swing?  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2013, 10:54
Ответы с готовыми решениями:

скажите, а на НАРОД.РУ можно такое сделать? и как?
Чтобы формочка отправляла данные мне на почту. Главное, чтоб отправить ее мог любой у кого не настроен почтовый клиент (пусть даже от...

Как реализовать похожий интерфейс на c#?
Люди, подскажите пожалуйста, как реализовать похожий интерфейс на c#?

Каким образом с использованием Swing сделать MDI интерфейс?
Каким образом с использованием Swing сделать MDI интерфейс: чтобы дочерние окна открывались в родительском, а не 'выскакивали' отдельно?

7
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
15.03.2013, 13:35
набросок

Кликните здесь для просмотра всего текста
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
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Insets;
import java.io.IOException;
 
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.BevelBorder;
import javax.swing.border.EtchedBorder;
 
 
public class TicTacToe extends JFrame {
 
    public TicTacToe() throws IOException {
        setTitle("Крестики-нолики");
        setIconImage(new ImageIcon("resources/start_icon.png").getImage());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        JPanel top = new JPanel();
        JButton newGameButton = new JButton("Новая игра", new ImageIcon("resources/start_icon.png"));
        newGameButton.setPreferredSize(new Dimension(150, 20));
        newGameButton.setBorder(new BevelBorder(BevelBorder.RAISED));
        top.add(newGameButton);
        JButton exitGameButton = new JButton("Выйти", new ImageIcon("resources/exit_icon.png"));
        exitGameButton.setPreferredSize(new Dimension(140, 20));
        exitGameButton.setBorder(new BevelBorder(BevelBorder.RAISED));
        top.setBorder(new BevelBorder(BevelBorder.RAISED));
        top.add(exitGameButton);
        
        JPanel gameField = new JPanel(new GridLayout(3, 3, 0, 0));
        for (int i = 0; i < 9; i++) {
            JButton b = new JButton();
            b.setIcon(new ImageIcon(i % 2 == 0 ? "resources/x.jpg" : "resources/o.jpg"));
            b.setMargin(new Insets(0, 0, 0, 0));
            gameField.add(b);
        }
        
        JPanel bottom = new JPanel();
        bottom.setBorder(new EtchedBorder(EtchedBorder.RAISED));
        
        add(top, BorderLayout.NORTH);
        add(gameField, BorderLayout.CENTER);
        add(bottom, BorderLayout.SOUTH);
        setLocationRelativeTo(null);
        pack();
    }
 
    public static void main(String[] args) throws IOException {
        new TicTacToe().setVisible(true);
    }
}
Миниатюры
Скажите, как можно сделать похожий интерфейс с помощью swing?  
1
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73
16.03.2013, 09:40  [ТС]
exiqa, использую ваш код, но он не хочет отображать картинки. Картинки поместил в папку проекта. Скажите с чем это может быть связано?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
16.03.2013, 14:57
Цитата Сообщение от sievmi Посмотреть сообщение
exiqa, использую ваш код, но он не хочет отображать картинки. Картинки поместил в папку проекта. Скажите с чем это может быть связано?
создайте в папке проекта папку resources и положите туда
0
1 / 1 / 1
Регистрация: 26.04.2012
Сообщений: 10
16.03.2013, 20:29
А можно по подробнее про конструкцию в строчке 36 :
Java
1
b.setIcon(new ImageIcon(i % 2 == 0 ? "resources/x.jpg" : "resources/o.jpg"));
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
16.03.2013, 21:34
в клетки с чётным номером ложить х а в нечётные 0
конструкция называется тернарная операция, а % это остаток от целочисленного деления, всё есть в литературе
0
1 / 1 / 1
Регистрация: 26.04.2012
Сообщений: 10
16.03.2013, 22:02
Про остаток я знал, а вот (? "resources/x.jpg" : "resources/o.jpg") заинтриговало.
В принципе что оно делает понятно было, но так как никогда не пользовался, а видел уже не однократно, а понять как работает и где применимо... )) Значит тернарная операция, что ж поищем....
0
 Аватар для AckiyBolt
653 / 402 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
16.03.2013, 22:50
это:
Java
1
result = condition ? true : false;
равносильно этому:
Java
1
2
3
4
if (condition)
   result = true;
else
   result = false;
очень удобно юзать когда нужно что-то куда присвоить исходя из какого-то условия. вот например эквалсохэшкод класса сущности:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    @Override
    public final int hashCode () {
        return id == null ?
               Objects.hashCode( author, title, creationDate ) :
               id.hashCode();
    }
 
    @Override
    public final boolean equals ( Object obj ) {
        if ( !( obj instanceof Post ) )
            return false;
 
        final Post other = ( Post ) obj;
 
        return id == null || other.id == null ?
               Objects.equal( author, other.author )
               && Objects.equal( title, other.title )
               && Objects.equal( creationDate, other.creationDate ) :
               Objects.equal( id, other.id );
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2013, 22:50
Помогаю со студенческими работами здесь

Скажите как сделать так что б кнопку или другой объект можно было растягивать и перемещать во время выполнения приложени
скажите как сделать так что б кнопкув или другой объект можно было растягивать и перемещать во время выполнения приложения...

Можно ли как-нибудь, реализовывая интерфейс, сделать методы статичными?
Форумчане, не подсажите можно ли как нибудь реализовывая интерфейс сделать методы статичными статичными? interface...

Как с помощью JavaScript можно сделать фиксированный фон?
Как с помощью JavaScript можно сделать фиксированный фоновый рисунок? С помощью CSS знаю, а как с помощью именно JavaScript?

Если одну и ту же задачу можно сделать и с помощью CSS и с помощью JavaScript в чем ее луче написать и почему?
Скажите а если одну и ту же задачу можно же сделать и с помощью css и с помощь js например всплывающею подсказку в чем ее луче написать и...

Как сделать тулбар голубой похожий в Paint Windows 7
Как сделать тулбар голубой похожий в paint win7?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru