Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
2 / 2 / 1
Регистрация: 17.12.2011
Сообщений: 20
1

Графический интерфейс. Создать окно, вставить в него таблицу, под таблицей add кнопку, чтобы при ее нажатии можно было вносить текст в каждую ячейky

12.01.2012, 18:27. Показов 3359. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
подскажите с кодом,ребят,желательно с комментариями.
я думала как это правильно сделать...
ход мыслей таков:
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
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
 
public class Menu
{
    public static void main(String[] args)
    {
        MenuFrame frame = new MenuFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        
    }
}
 
//фрейм,содержащий панель для рисования
 
    class MenuFrame extends JFrame
    {
    public MenuFrame()
    {
        setTitle("Menu);
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        
//добавление панели к фрейму
        
        MenuPanel panel = new MenuPanel();
        add(panel);
        }
    private void add(MenuPanel panel) {
        // TODO Auto-generated method stub
        
    }
    public static final int DEFAULT_WIDTH = 600;
    public static final int DEFAULT_HEIGHT = 600;
        }
    
//панель, на которой будет отображаться таблица
    
    class MenuPanel extends JPanel
    {
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        
//рисование прямоугольника
        
        double leftX = 100;
        double topY = 100;
        double width = 200;
        double height = 150;
    Rectangle2D rect = new Rectangle2D.Double(leftX, topY, width, height);
    g2.draw(rect);
        
    }
    }
и дальше ступор..можно же нарисовать 2 линии:горизонтальную и вертикальную, ну чтобы из прямоугольника получилась таблица 2*2, а дальше? кнопку создать несложно...но как сделать чтобы когда ты ее кликаешь она ссылалась на каждую ячейку?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2012, 18:27
Ответы с готовыми решениями:

В Access в Форме создать кнопку, чтобы при ее нажатии всплывало окно "Удалить таблицу?"
Нужно в Access в Форме создать кнопку, чтобы при ее нажатии всплывало окно "Удалить таблицу?" с...

как сделать, чтобы при нажатии на кнопку появлялась таблица, заданная мною, чтобы в полях таблицы можно было ввести информацию а потом сохранить ее
Здравствуйте! Подскажите, вот у меня есть веб-страница и код в ней. Если открыть в браузере, то сам...

Как можно сделать, чтобы при нажатии на кнопку ( Символ-Button) выходил текст в текстовое поле
Как можно сделать, чтобы при нажатии на кнопку ( Символ-Button) выходил текст в текстовое поле ?...

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

4
15 / 15 / 3
Регистрация: 12.07.2009
Сообщений: 114
13.01.2012, 01:38 2
Цитата Сообщение от tinki Посмотреть сообщение
можно же нарисовать 2 линии:горизонтальную и вертикальную, ну чтобы из прямоугольника получилась таблица 2*2
может лучше использовать JTable?
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.01.2012, 15:21 3
tinki, если так не хочется использовать существующие компоненты, то можно использовать такой самодельный грид
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
JPanel tablePanel = new JPanel();
tablePanel.setSize(111, 62);
tablePanel.setLocation(...);
tablePanel.setVisible(true);
tablePanel.setLayout(null);
JTextField [][] cell = new JTextField[3][3];
int i, j, x = 0, y = 0;
for (i = 0; i < 3; ++i, x = 0, y += 20) {
   for (j = 0; j < 3; ++j, x += 37) {
      cell[i][j] = new JTextField();
      cell[i][j].setLocation(x, y);
      cell[i][j].setVisible(true);
      cell[i][j].setSize(37, 20);
      tablePanel.add(cell[i][j]);
   }
}
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
18.01.2012, 12:04 4
Думаю, что GridLayout будет удобней ручного распихивания компонентов.
0
2 / 2 / 1
Регистрация: 17.12.2011
Сообщений: 20
18.01.2012, 12:24  [ТС] 5
Цитата Сообщение от aleksandy Посмотреть сообщение
Думаю, что GridLayout будет удобней ручного распихивания компонентов.
спс, уже неактуальна эта тема =)
код вот в этой теме https://www.cyberforum.ru/java... 30421.html
0
18.01.2012, 12:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2012, 12:24
Помогаю со студенческими работами здесь

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

Как при нажатии на кнопку вывести текст в окно в PyQt4?
Привет всем! Имеется проект на питоне(Код самого приложения, gui и скрипт их объединяющий) Как...

При нажатии на кнопку, текст добавляется в другую таблицу
Здравствуйте! При нажатии на кнопку, текст из одной таблицы добавляется в другую таблицу &lt;html&gt;...

Как сделать,чтобы при нажатии на кнопку открывалось дочернее окно?
Как сделать,чтобы при нажатии на кнопку открывалось дочернее окно?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru