Привет! Меня зовут Алексей‚ и я хочу поделиться с вами своим опытом создания программы на языке программирования Java с использованием Swing и GroupLayout для построения графиков функций yx^2 5x-4 и yx-1 в одних координатных осях с использованием checkBox для отображения каждого графика отдельно.Сначала давайте создадим окно программы. Для этого нам понадобятся следующие импорты⁚
java
import javax.swing.*;
import java.awt.*;
Затем определим класс нашего окна и наследуем его от класса JFrame⁚
java
public class GraphsApp extends JFrame {
public GraphsApp {
// настройка окна
setSize(800‚ 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle(″Графики функций″);
// создание панели и добавление ее на окно
JPanel panel new JPanel;
getContentPane.add(panel);
// настройка расположения элементов на панели
GroupLayout layout new GroupLayout(panel);
panel.setLayout(layout);
// добавление компонентов на панель
JLabel label new JLabel(″Функции⁚″);
JCheckBox checkBox1 new JCheckBox(″y x^2 5x — 4″);
JCheckBox checkBox2 new JCheckBox(″y x — 1″);
JButton button new JButton(″Построить″);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(layout.createSequentialGroup
.addComponent(label)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(checkBox1)
.addComponent(checkBox2))
.addComponent(button));
layout.setVerticalGroup(layout.createSequentialGroup
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
.addComponent(label)
.addComponent(checkBox1))
.addComponent(checkBox2)
.addComponent(button));
// обработчик клика по кнопке
button.addActionListener(e -> {
if (checkBox1.isSelected) {
drawGraph1(panel.getGraphics);
}
if (checkBox2.isSelected) {
drawGraph2(panel.getGraphics);
}
});
}
private void drawGraph1(Graphics g) {
// получаем ширину и высоту панели
int width g.getClipBounds.width;
int height g.getClipBounds.height;
// задаем цвет и толщину линии
g.setColor(Color.RED);
g.setStroke(new BasicStroke(2));
// отображаем график функции y x^2 5x ౼ 4
for (int x -width / 2; x < width / 2; x ) {
int y x * x 5 * x ౼ 4;
// преобразуем координаты к окну
int transformedX x width / 2;
int transformedY -y height / 2;
g.drawLine(transformedX‚ transformedY‚ transformedX‚ transformedY);
}
}
private void drawGraph2(Graphics g) {
// получаем ширину и высоту панели
int width g.getClipBounds.width;
int height g.getClipBounds.height;
// задаем цвет и толщину линии
g.setColor(Color.BLUE);
g;setStroke(new BasicStroke(2));
// отображаем график функции y x — 1
for (int x -width / 2; x < width / 2; x ) {
int y x — 1;
GraphsApp app new GraphsApp;
app.setVisible(true);
});
}
}
В данном примере я использовал классы JPanel‚ GroupLayout‚ JLabel‚ JCheckBox‚ JButton и Graphics для создания окна программы‚ настройки компонентов‚ обработки событий и отрисовки графиков;
При запуске программы появится окно с двумя чекбоксами (для выбора функций) и кнопкой ″Построить″. При клике на кнопку будут отрисованы выбранные графики на панели. Графики отображаются в одних координатных осях‚ причем каждый график на своем цвете.
Надеюсь‚ мой опыт будет полезен для вас. Удачи в программировании на Java!