Q1]

import javax.swing.*;
import java.awt.*;

public class IndianFlag extends JFrame {
    private static final int WIDTH = 900;
    private static final int HEIGHT = 600;
    private static final Color SAFFRON_COLOR = new Color(255, 153, 51);
    private static final Color GREEN_COLOR = new Color(18, 136, 7);
    private static final Color WHITE_COLOR = Color.WHITE;

    public IndianFlag() {
        setTitle("Indian Flag");
        setSize(WIDTH, HEIGHT);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setResizable(false);

        IndianFlagPanel flagPanel = new IndianFlagPanel();
        add(flagPanel);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            IndianFlag indianFlag = new IndianFlag();
            indianFlag.setVisible(true);
        });
    }

    static class IndianFlagPanel extends JPanel {
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);

            int width = getWidth();
            int height = getHeight();

          
            int flagWidth = width;
            int flagHeight = height;
            int saffronHeight = flagHeight / 3;
            int whiteHeight = flagHeight / 3;
            int greenHeight = flagHeight / 3;
            int chakraRadius = flagHeight / 15;
            int chakraDiameter = chakraRadius * 2;

         
            g.setColor(SAFFRON_COLOR);
            g.fillRect(0, 0, flagWidth, saffronHeight);

        
            g.setColor(WHITE_COLOR);
            g.fillRect(0, saffronHeight, flagWidth, whiteHeight);

            
            g.setColor(GREEN_COLOR);
            g.fillRect(0, saffronHeight + whiteHeight, flagWidth, greenHeight);

           
            g.setColor(NationalFlagColors.BLUE_COLOR);
            int centerX = flagWidth / 2 - chakraRadius;
            int centerY = saffronHeight + (whiteHeight / 2) - chakraRadius;
            g.fillOval(centerX, centerY, chakraDiameter, chakraDiameter);

           
            g.setColor(NationalFlagColors.WHITE_COLOR);
            for (int i = 0; i < 24; i++) {
                double angle = Math.toRadians(i * 15);
                int x1 = (int) (centerX + chakraRadius * Math.cos(angle));
                int y1 = (int) (centerY + chakraRadius * Math.sin(angle));
                int x2 = (int) (centerX - chakraRadius * Math.cos(angle));
                int y2 = (int) (centerY - chakraRadius * Math.sin(angle));
                g.drawLine(x1, y1, x2, y2);
            }
        }
    }
}


Q2]

import java.sql.*;

public class ScrollableResultSetDemo {

    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/your_database_name";
    private static final String USERNAME = "your_username";
    private static final String PASSWORD = "your_password";

    public static void main(String[] args) {
        try (Connection connection = DriverManager.getConnection(JDBC_URL, USERNAME, PASSWORD)) {
        
            Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

         
            ResultSet resultSet = statement.executeQuery("SELECT * FROM Teacher");

           
            resultSet.last();

         
            int rowCount = resultSet.getRow();

          
            resultSet.beforeFirst();

            System.out.println("Teacher table data:");
            System.out.println("TID\tTName\tSalary");
            System.out.println("-----------------------------");

           
            while (resultSet.next()) {
                int tid = resultSet.getInt("TID");
                String tname = resultSet.getString("TName");
                double salary = resultSet.getDouble("Salary");

                System.out.println(tid + "\t" + tname + "\t" + salary);
            }

            System.out.println("-----------------------------");
            System.out.println("Total rows: " + rowCount);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
