Professional Documents
Culture Documents
Grafik
Grafik
koneksiDB;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.sql.Connection;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public StaticBarChart() {
this.setPreferredSize(new Dimension(750, 440));
this.setBackground(Color.WHITE);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics g2d = (Graphics) g;
int a = 0;
int x = 75; //Koordinat X pertama untuk batang pertama
int barWidth = 50; //Lebar batang
int scaleFactor = 5; //Faktor skala untuk tinggi batang
super.paintComponent(g);
Graphics g2c = (Graphics) g;
int totalBarWidth = candidateNames.length * 75;
int panelWidth = getWidth();
int startX = (panelWidth - totalBarWidth) / 2; // Memulai dari tengah panel
try {
conn = koneksiDB();
stmt = conn.createStatement();
ResultSet resultPersen = stmt.executeQuery("select truncate((suara /
(select sum(suara) from tbl_hasil_vote)*100),0) , suara, nama_paslon from
tbl_hasil_vote");
while (resultPersen.next()) {
int barHeight = resultPersen.getInt(1) * 5; // Tinggi batang sesuai
dengan data
g2c.fillRect(startX, 370 - barHeight, 50, barHeight); // Menggambar
batang
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}