Форум программистов, компьютерный форум, киберфорум
Java: GUI, Графика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 08.12.2014
Сообщений: 91
1

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

28.09.2015, 08:55. Просмотров 1603. Ответов 7
Метки нет (Все метки)

вот сам код!
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
103
104
105
import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
 
class Main {
    public static void main(String[] args) {
        new Frame();
    }
 
    static class Frame extends JFrame {
 
        JButton b1, b2, b3;
        JTextArea consol;
       
 
        String text;
 
        Frame(){
 
            b1 = new JButton("1-Способ±");
            b1.addActionListener(e -> sposob1());
            add(b1);
            b2 = new JButton("2-Способ±");
            b2.addActionListener(e -> sposob2());
            add(b2);
            b3 = new JButton("3-Способ±");
            b3.addActionListener(e -> sposob3());
            add(b3);
 
            consol = new JTextArea(30,40);
            add(consol);
 
            JScrollPane JS = new JScrollPane(consol);
            JS.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
            add(JS);
 
            setTitle("Приложение");
            setSize(400,300);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setResizable(true);
            setLocationRelativeTo(null);
            setLayout(new FlowLayout());
            setVisible(true);
        }
 
        public void sposob1(){ // ИМЕННО В ЭТОЙ КНОПКЕ МОЖНО БЫЛО ВВОДИТЬ ДАННЫЕ В ФОРМУ И ВЫВОДИЛ ДАННЫЕ В ЭТОЙ ФОРМЕ
            text = "";
            Scanner scn = new Scanner(System.in);
            System.out.println("Введите размер массива: ");
            int size = scn.nextInt();
            int[] a = new int[size];
            System.out.println("Введите значения элементов массива: ");
            for (int i = 0; i < size; i++)
                a[i] = scn.nextInt();
            for (int i = 0; i < size; i++)
                if (i < size - 2)
                    if (a[i] + a[i + 1] + a[i + 2] > 0)
                        if (i == size - 3)
                            text += "a[i] = " + a[i] + "\na[i+1] = " + a[i + 1] + "\na[i+2] = " + a[i + 2];
                        else
                            text += "a[i] = " + a[i] + "\na[i+1] = " + a[i + 1] + "\na[i+2] = " + a[i + 2] + "\n\n";
            consol.setText(text);
        }
 
        public void sposob2(){
            text = "";
            int size = new Random().nextInt(9)+1;
            int[] a = new int[size];
            for (int i = 0; i < size; i++)
                a[i] = new Random().nextInt(10);
            for (int i = 0; i < size; i++)
                if (i < size - 2)
                    if (a[i] + a[i + 1] + a[i + 2] > 0)
                        if (i == size - 3)
                            text += "a[i] = " + a[i] + "\na[i+1] = " + a[i + 1] + "\na[i+2] = " + a[i + 2];
                        else
                            text += "a[i] = " + a[i] + "\na[i+1] = " + a[i + 1] + "\na[i+2] = " + a[i + 2] + "\n\n";
            consol.setText(text);
        }
 
        public void sposob3(){
            text = "";
            ArrayList<Integer> a = new ArrayList<>();
            a.add(1);
            a.add(2);
            a.add(-1);
            a.add(-3);
            a.add(4);
            a.add(7);
            a.add(-7);
            a.add(8);
            a.add(-1);
            a.add(0);
            for (int i = 0; i < 8; i++)
                if (a.get(i) + a.get(i + 1) + a.get(i + 2) > 0)
                    if (i == 7)
                        text += "\na[i] = " + a.get(i) + "\na[i+1] = " + a.get(i + 1) + "\na[i+2] = " + a.get(i + 2);
                    else
                        text += "\na[i] = " + a.get(i) + "\na[i+1] = " + a.get(i + 1) + "\na[i+2] = " + a.get(i + 2) + "\n\n";
            consol.setText(text);
        }
    }
}
САМО УСЛОВИЕ ВОТ В массиве b = b1,...,bn найти номера трёх последовательных элементов, значения которых удовлетворяют неравенству bi + bi+1 + bi+2 > 0
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2015, 08:55
Ответы с готовыми решениями:

Клиент Сервер (Как сделать так, что бы Сервер считал этот код и давал ВЫВОД в форме)?
Здравствуйте Уважаемые форумчанины!!! У меня есть вот один код который считает массивы с...

Как сделать что бы в HTML форму можно было вводить только русский текст?
Делаю для сайта форму регистрации, проблема, нужно что бы в форму &quot;имя&quot; пользователь ввел только...

Можно ли сделать так, что сквозь форму можно было бы тыкать мышью по файлам?
Можно ли сделать так, что сквозь форму можно было бы тыкать мышью по файлам? Т.е. например, как в...

Как сделать так, чтобы можно было вводить Имя Фамилию с пробелом
Как сделать так, чтобы можно было вводить Имя Фамилию с пробелом и почту? struct mas { char...

__________________

Записывайтесь на профессиональные курсы Java-разработчиков
7
745 / 492 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
28.09.2015, 10:06 2
JTextField - однострочный ввод, подобие TEdit из Delphi...

Делаешь сколько нужно JTextField`ов и JButton, которая считает там по формуле или ещё чего и выводит допустим в JLabel
0
0 / 0 / 0
Регистрация: 08.12.2014
Сообщений: 91
28.09.2015, 18:16  [ТС] 3
Напиши мне этот код полностью что бы работал пожалуйста!

Добавлено через 1 час 6 минут
Говорят можно еще использовать Char типа присвоением!
Кто нибудь поможет или нет ?

Добавлено через 43 секунды
Мне нужно изменить только первую кнопку и все
0
745 / 492 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
29.09.2015, 01:40 4
Лучший ответ Сообщение было отмечено asset01 как решение

Решение

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

Добавлено через 4 часа 25 минут
В общем, вот код. Конечно, это говнокод, ибо сделан на скорую руку, но всё работает... Переделаешь потом под себя, как тебе заблагорассудится...

1. Главный класс MassiveRun:

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
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class MassiveRun {
    public static int[] mass = {1, 2, -1, -3, 4, 7, -7, 8, -1, 0};
 
    public static void main(String[] args) {
        MainFrame frame = new MainFrame();
 
        JButton button1 = new JButton("Способ 1");
        button1.setBounds(10, 10, 160, 30);
        MainFrame.panel.add(button1);
 
        JButton button2 = new JButton("Способ 2");
        button2.setBounds(180, 10, 160, 30);
        MainFrame.panel.add(button2);
 
        JButton button3 = new JButton("Способ 3");
        button3.setBounds(350, 10, 160, 30);
        MainFrame.panel.add(button3);
 
        MainFrame.panel.updateUI();
 
        button1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ButtonEvents click = new ButtonEvents();
                click.clickButton1();
            }
        });
 
        button2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ButtonEvents click2 = new ButtonEvents();
                click2.clickButton2();
            }
        });
 
        button3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ButtonEvents click3 = new ButtonEvents();
                click3.clickButton3();
            }
        });
    }
}
2 класс создания Фрэйма (конструктор) MainFrame:

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
import javax.swing.*;
import java.awt.*;
 
public class MainFrame extends JFrame {
    public static JPanel panel;
    public static JTextArea outData;
    public static JLabel label;
    public static JTextField edit;
    public static JButton addData;
    public static JButton addData2;
 
 
 
    public MainFrame(){
        setTitle("MassiveWork");
        setSize(527, 500);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);
        setLocationRelativeTo(null);
        setLayout(null);
        setVisible(true);
 
        panel = new JPanel();
        panel.setLayout(null);
        panel.setBackground(Color.LIGHT_GRAY);
        panel.setBounds(0, 0, 600, 500);
        add(panel);
 
 
        outData = new JTextArea();
        outData.setLayout(null);
        outData.setBackground(Color.WHITE);
        outData.setBounds(10, 60, 500, 400);
        outData.setEditable(false);
        outData.setVisible(false);
        panel.add(outData);
 
 
        label = new JLabel();
        label.setLayout(null);
        label.setBounds(10, 60, 300, 20);
        label.setVisible(false);
        panel.add(label);
 
        edit = new JTextField();
        edit.setLayout(null);
        edit.setBounds(10, 85, 200, 25);
        edit.setVisible(false);
        panel.add(edit);
 
        addData = new JButton("+");
        addData.setBounds(220, 85, 50, 25);
        addData.setVisible(false);
        panel.add(addData);
 
        addData2 = new JButton("+");
        addData2.setBounds(220, 85, 50, 25);
        addData2.setVisible(false);
        panel.add(addData2);
 
    }
}
3. класс поиска нужных индексов по массиву SearchIndex:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class SearchIndex {
    public String indexs(int[] massive) {
        String str = "";
        if (massive.length < 3) {
            return str;
        }
        else {
            for (int i = 0; i < massive.length - 2; i++) {
                if (massive[i] + massive[i+1] + massive[i+2] > 0) {
                    str += "a[" + i + "] = " + massive[i] + "; a[" + (i + 1) + "] = " + massive[i+1] +
                            "; a[" + (i + 2) + "] = " + massive[i+2] + ";   " + massive[i] + " + " +
                            massive[i+1] + " + " + massive[i+2] + " = " + (massive[i] + massive[i+1] + massive[i+2]) + " > 0;\n";
                }
            }
        }
        return str;
    }
}
4. последний класс события нажатия кнопок ButtonEvents:

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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
 
public class ButtonEvents {
    public static int sizeMass = 0;
    public static int[] mass;
    public static int count = 0;
 
   public void clickButton1() {
       MainFrame.edit.setVisible(false);
       MainFrame.label.setVisible(false);
       MainFrame.addData.setVisible(false);
       MainFrame.outData.setBounds(10, 60, 500, 400);
 
       MainFrame.outData.updateUI();
       String zadanie = "";
 
       for (int i = 0; i < MassiveRun.mass.length-1; i++) {
           zadanie += MassiveRun.mass[i] + ", ";
       }
 
       zadanie = "МАССИВ (ГОТОВЫЙ): \n   [" + zadanie + MassiveRun.mass[MassiveRun.mass.length-1] + "];\n";
       zadanie += "\nЗАДАНИЕ:\n   В массиве b = b1,...,bn найти номера трёх последовательных элементов, значения\nкоторых удовлетворяют неравенству bi + bi+1 + bi+2 > 0";
 
       MainFrame.outData.setVisible(true);
 
       String answer;
       SearchIndex getResult = new SearchIndex();
       answer = getResult.indexs(MassiveRun.mass);
       zadanie += "\n\nОТВЕТ:\n" + answer;
       MainFrame.outData.setText(zadanie);
   }
 
//=====================================================================================================================
 
    public void clickButton2() {
        MainFrame.edit.setVisible(false);
        MainFrame.label.setVisible(false);
        MainFrame.addData.setVisible(false);
        MainFrame.outData.setBounds(10, 60, 500, 400);
 
        MainFrame.outData.updateUI();
        String zadanie = "";
 
        int size = new Random().nextInt(9) + 1;
        int[] mass = new int[size];
 
        for (int i = 0; i < size - 1; i++) {
            mass[i] = new Random().nextInt(19) - 10;
            zadanie += mass[i] + ", ";
        }
        mass[size-1] = new Random().nextInt(19) - 10;
 
        zadanie = "МАССИВ (РАНДОМНЫЙ): \n   [" + zadanie + mass[size-1] + "];\n";
        zadanie += "\nЗАДАНИЕ:\n   В массиве b = b1,...,bn найти номера трёх последовательных элементов, значения\nкоторых удовлетворяют неравенству bi + bi+1 + bi+2 > 0";
 
        MainFrame.outData.setVisible(true);
 
        String answer;
        SearchIndex getResult = new SearchIndex();
        answer = getResult.indexs(mass);
        zadanie += "\n\nОТВЕТ:\n" + answer;
        MainFrame.outData.setText(zadanie);
    }
 
//=====================================================================================================================
 
    public void clickButton3() {
 
 
        String zadanie = "МАССИВ (ВВОД ВРУЧНУЮ):\n   длинна: ";
        int size = 0;
 
 
        MainFrame.label.setText("Введите длинну масива (не более 20):");
        MainFrame.edit.setVisible(true);
        MainFrame.label.setVisible(true);
        MainFrame.addData.setVisible(true);
        sizeMass = 0;
        count = 0;
 
 
 
        MainFrame.outData.setBounds(10, 130, 500, 330);
        MainFrame.outData.setText(zadanie);
        MainFrame.outData.setVisible(true);
 
        MainFrame.addData.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String zadanie = "";
                if (sizeMass == 0) {
                    if (MainFrame.edit.getText() != "" && Integer.parseInt(MainFrame.edit.getText()) < 21 && Integer.parseInt(MainFrame.edit.getText()) > -1)   {
                        sizeMass = Integer.parseInt(MainFrame.edit.getText());
                        zadanie = MainFrame.outData.getText();
                        zadanie += sizeMass + ";\n   [";
                        MainFrame.outData.setText(zadanie);
                        MainFrame.addData.setVisible(false);
                        MainFrame.label.setText("Заполните массив [-10..10]:");
                        MainFrame.addData2.setVisible(true);
                        MainFrame.edit.setText("");
                        mass = new int[sizeMass];
                    } else MainFrame.edit.setText("");
                }
            }
        });
 
        MainFrame.addData2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String zadanie = "";
                if (sizeMass != 0) {
                    if (MainFrame.edit.getText() != "" && Integer.parseInt(MainFrame.edit.getText()) < 11 && Integer.parseInt(MainFrame.edit.getText()) > -11) {
                        if (count < sizeMass-1) {
                            mass[count] = Integer.parseInt(MainFrame.edit.getText());
                            count++;
                            zadanie = MainFrame.outData.getText();
                            zadanie += Integer.parseInt(MainFrame.edit.getText()) + ", ";
                            MainFrame.outData.setText(zadanie);
                            MainFrame.edit.setText("");
                        }
                        else {
                            mass[count] = Integer.parseInt(MainFrame.edit.getText());
                            zadanie = MainFrame.outData.getText();
                            zadanie += Integer.parseInt(MainFrame.edit.getText()) + "];\n\n";
                            MainFrame.outData.setText(zadanie);
                            MainFrame.edit.setText("");
                            MainFrame.addData2.setVisible(false);
                            String answer;
                            SearchIndex getResult = new SearchIndex();
                            answer = getResult.indexs(mass);
                            zadanie += "ОТВЕТ:\n" + answer;
                            MainFrame.outData.setText(zadanie);
 
                        }
 
                    }
                    else MainFrame.edit.setText("");
 
                }
            }
        });
 
    }
}
Ну как то так. У меня всё отлично работает, но сильно не тестировал... Всё возлагается на тебя!!!
1
0 / 0 / 0
Регистрация: 08.12.2014
Сообщений: 91
29.09.2015, 17:05  [ТС] 5
Все отлично работает спасибо!
0
745 / 492 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
29.09.2015, 17:08 6
не за что!
0
0 / 0 / 0
Регистрация: 08.12.2014
Сообщений: 91
13.10.2015, 16:03  [ТС] 7
Привет!!!
Поможешь еще раз с этим же заданием только там условие другие !? (Очень нужна помощь)
0
745 / 492 / 285
Регистрация: 10.09.2015
Сообщений: 1,530
13.10.2015, 17:13 8
Задание кидай...

И если такой же будет код ничего?

Добавлено через 19 минут
сделал... ищи по ссылке в самом низу

https://www.cyberforum.ru/java... ost8189559
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2015, 17:13

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как сделать так чтобы в QLineEdit можно было вводить только буквы
Как сделать так чтобы в QLineEdit можно было вводить только буквы а все остальные символы(цыфры и...

Как мне сделать так чтобы тут матрицу можно было вводить с клавиатуры?
using System; class SudokuSolver { private int grid; public SudokuSolver(String...

Как сделать так чтобы можно было вводить разное количество букв, а не только пять?
string text = &quot; АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ&quot;; Console.Write(&quot;Введите первую букву = &quot;);...

Как сделать так чтобы в текстовом окне можно было вводить только цыфры и запятую?
Как сделать так чтобы в текстовом окне(textBox) можно было вводить только цыфры и запятую?...


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

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

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