-
Notifications
You must be signed in to change notification settings - Fork 0
/
Frame
150 lines (128 loc) · 5.2 KB
/
Frame
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
147
148
149
150
import java.awt.Canvas;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Frame extends JFrame {
private Point point;
private Dimension dimension;
private Container container;
public JTextField ax;
public JTextField bx;
public JTextField c;
private JTextArea resultD;//строка для результата,сюда будем передавать String
private JTextArea resultX;
private JTabbedPane maindeck;
private JButton resultButton;
private JButton clearButton;
private JButton exitButton;
private JPanel tabmain;
private JPanel tabgrapf;
public Frame() {
point = new Point(500, 100);
dimension = new Dimension(600, 400);
setTitle("Diskriminants ver. 1.0");//заработало только после добавление наследования от JFrame(java.awt)
//setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLocation(point);
setSize(dimension);
container = getContentPane();
container.setLayout(null);//отказ от компановщика
setDefaultCloseOperation(EXIT_ON_CLOSE);//завершение работы всего кода при закрытии окна
JTabbedPane maindeck = new JTabbedPane(); //основное поле(сцена)
maindeck.setBounds(2, 2, 590, 367);
container.add(maindeck);
JPanel tabmain = new JPanel(null); //Вкладки
maindeck.add("formula", tabmain);
JPanel tabgrapf = new JPanel(null); //нужные эллементы встали на свое место только после обьявления null(разобраться почему!!!)
maindeck.add("grapfick", tabgrapf);
// не изменяемые промежутки
JLabel xpow2 = new JLabel("xpow2 + ");
xpow2.setBounds(95, 85, 60, 28);
tabmain.add(xpow2);
JLabel x = new JLabel("x+");
x.setBounds(195, 85, 28, 28);
tabmain.add(x);
JLabel equal = new JLabel("= 0");
equal.setBounds(263, 85, 28, 28);
tabmain.add(equal);
//ячейки для ввода
ax = new JTextField("");
ax.setBounds(50, 85, 40, 28);
ax.setToolTipText("enter a");
tabmain.add(ax);
bx = new JTextField("");
bx.setBounds(150, 85, 40, 28);
bx.setToolTipText("enter b");
tabmain.add(bx);
c = new JTextField("");
c.setBounds(218, 85, 40, 28);
c.setToolTipText("enter c");
tabmain.add(c);
//поле для вывода
// resultD = new JTextArea(); //запаска
// resultD.setBounds(50, 133, 128, 28);
// tabmain.add(resultD);
resultX = new JTextArea();
resultX.setBounds(50, 171, 140, 48);
tabmain.add(resultX);
//кнопки
resultButton = new JButton("Result");
resultButton.setBounds(440, 85, 100, 28);
tabmain.add(resultButton);
resultButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
double A, B, C;
String ja, jb, jc;
Algorithm alg = new Algorithm();
ProgrammEnter ent = new ProgrammEnter();//лишнее
try {
ja = ax.getText().toString();
A = Double.parseDouble(ja);
jb = bx.getText().toString();
B = Double.parseDouble(jb);
jc = c.getText().toString();
C = Double.parseDouble(jc);
alg.setABC(A, B, C);
resultX.setText(alg.Algorithm());
} catch (NumberFormatException i) {
System.err.println(i);
}
}
});
clearButton = new JButton("Clear");
clearButton.setBounds(440, 133, 100, 28);
tabmain.add(clearButton);
clearButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ax.setText("");
bx.setText("");
c.setText("");
resultX.setText("");
}
});
exitButton = new JButton("Exit");
exitButton.setBounds(450, 279, 80, 28);
tabmain.add(exitButton);
exitButton.addActionListener(e -> System.exit(0));
setResizable(false);//запрет на изменение размера окна
setVisible(true);//видимость окна
setLocationRelativeTo(null);//окно запиливаем в центр
}
}