📄 UzunlukOlcumu.java .java dosyası
⬇️ İndir
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class UzunlukOlcumu {
private Point A, B;
private int Ax = 100;
private int Ay = 100;
private int Bx = 300;
private int By = 100;
private int yeniAx = Ax;
private int yeniAy = Ay;
private int yeniBx = Bx;
private int yeniBy = By;
private JFrame frame;
private JPanel anapanel, panel, uzaklikPanel;
private JLabel mesafeEtiketi;
public UzunlukOlcumu() {
frame = new JFrame("Uzunluk Ölçümü | Java Blackboard [116]");
frame.setLayout(null);
anapanel = new JPanel();
anapanel.setBackground(new Color(28, 83, 176)); // Koyu mavi renk.
anapanel.setLayout(null);
anapanel.setBounds(0,0,800,620);
A = new Point(Ax, Ay);
B = new Point(Bx, By);
panel = new JPanel() {
public void paintComponent(Graphics grafik) {
super.paintComponent(grafik);
Graphics2D grafik2d = (Graphics2D) grafik;
grafik2d.setColor(Color.RED);
grafik2d.drawLine((int) A.getX(), (int) A.getY(), (int) B.getX(), (int) B.getY());
}
};
panel.setBackground(Color.WHITE);
panel.setBounds(30, 120, 740, 300);
anapanel.add(uzaklikInfo(A, B));
anapanel.add(panel);
anapanel.add(ABInfo());
frame.add(anapanel);
frame.setSize(800, 620);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public JPanel uzaklikInfo(Point C, Point D) {
A = C;
B = D;
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBackground(new Color(200, 233, 255));
panel.setBounds(30, 30, 740, 60);
Font mesafeFont = new Font("Ubuntu", Font.PLAIN, 27);
// iki nokta arasındaki mesafeyi hesapla
double mesafe = C.distance(D);
// mesafeyi yazdırmak için bir etiket oluştur
mesafeEtiketi = new JLabel(" |AB| = " + mesafe);
mesafeEtiketi.setFont(mesafeFont);
mesafeEtiketi.setHorizontalAlignment(JLabel.CENTER);
mesafeEtiketi.setBounds(10, 10, 720, 40);
// etiketi panele ekle
panel.add(mesafeEtiketi);
return panel;
}
public JPanel ABInfo() {
JPanel infoPanel = new JPanel();
infoPanel.setLayout(null);
infoPanel.setBackground(new Color(200, 233, 255));
infoPanel.setBounds(30, 450, 740, 120);
Font mesafeFont = new Font("Ubuntu", Font.PLAIN, 27);
JLabel aNoktasiLabel = new JLabel("A (x,y) :");
aNoktasiLabel.setFont(mesafeFont);
aNoktasiLabel.setHorizontalAlignment(JLabel.RIGHT);
aNoktasiLabel.setBounds(10, 10, 150, 45);
JTextField aNoktasiFieldX = new JTextField("100");
aNoktasiFieldX.setFont(mesafeFont);
aNoktasiFieldX.setHorizontalAlignment(JLabel.CENTER);
aNoktasiFieldX.setBounds(180, 10, 70, 45);
JTextField aNoktasiFieldY = new JTextField("100");
aNoktasiFieldY.setFont(mesafeFont);
aNoktasiFieldY.setHorizontalAlignment(JLabel.CENTER);
aNoktasiFieldY.setBounds(260, 10, 70, 45);
JLabel bNoktasiLabel = new JLabel("B (x,y) :");
bNoktasiLabel.setFont(mesafeFont);
bNoktasiLabel.setHorizontalAlignment(JLabel.RIGHT);
bNoktasiLabel.setBounds(10, 70, 150, 45);
JTextField bNoktasiFieldX = new JTextField("300");
bNoktasiFieldX.setFont(mesafeFont);
bNoktasiFieldX.setHorizontalAlignment(JLabel.CENTER);
bNoktasiFieldX.setBounds(180, 70, 70, 45);
JTextField bNoktasiFieldY = new JTextField("100");
bNoktasiFieldY.setFont(mesafeFont);
bNoktasiFieldY.setHorizontalAlignment(JLabel.CENTER);
bNoktasiFieldY.setBounds(260, 70, 70, 45);
JButton hesapla = new JButton("Hesapla");
hesapla.setFont(mesafeFont);
hesapla.setHorizontalAlignment(JLabel.CENTER);
hesapla.setBounds(400, 70, 150, 45);
// Buton'a tiklandiginda yapilacak görevler
hesapla.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
yeniAx = Integer.parseInt(aNoktasiFieldX.getText());
yeniAy = Integer.parseInt(aNoktasiFieldY.getText());
yeniBx = Integer.parseInt(bNoktasiFieldX.getText());
yeniBy = Integer.parseInt(bNoktasiFieldY.getText());
A = new Point(yeniAx, yeniAy);
B = new Point(yeniBx, yeniBy);
anapanel.removeAll();
panel.repaint();
anapanel.add(uzaklikInfo(A,B));
anapanel.add(panel);
anapanel.add(ABInfo());
infoPanel.repaint();
frame.repaint();
}
});
aNoktasiFieldX.setText(""+yeniAx);
aNoktasiFieldY.setText(""+yeniAy);
bNoktasiFieldX.setText(""+yeniBx);
bNoktasiFieldY.setText(""+yeniBy);
// etiketi panele ekle
infoPanel.add(aNoktasiLabel);
infoPanel.add(aNoktasiFieldX);
infoPanel.add(aNoktasiFieldY);
infoPanel.add(bNoktasiLabel);
infoPanel.add(bNoktasiFieldX);
infoPanel.add(bNoktasiFieldY);
infoPanel.add(hesapla);
return infoPanel;
}
public static void main(String[] args) {
new UzunlukOlcumu();
}
}