📄 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(); } }