Opp Lab 11
Opp Lab 11
Opp Lab 11
Class: BSCS8-A
Lab: 11
Activity # 1
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
Activity1()
JTable table;
tableData[i][j]=i+","+j;
});
this.add(scrollPane, BorderLayout.CENTER);
Test
import javax.swing.JFrame;
Output
Activity # 2
TestPaintComponent
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.*;
Test
import javax.swing.JFrame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ControlCircle extends JFrame
{
private JButton jbtEnlarge = new JButton("Enlarge");
private JButton jbtShrink = new JButton("Shrink");
private CirclePanel canvas = new CirclePanel();
public ControlCircle()
{
JPanel panel = new JPanel(); // Use the panel to group buttons
panel.add(jbtEnlarge);
panel.add(jbtShrink);
this.add(canvas, BorderLayout.CENTER); // Add canvas to center
this.add(panel, BorderLayout.SOUTH); // Add buttons to the frame
jbtEnlarge.addActionListener(new Listener());
jbtShrink.addActionListener(new Listener());
}
/** Main method */
public static void main(String[] args)
{
JFrame frame = new ControlCircle();
frame.setTitle("ControlCircle2");
frame.setLocationRelativeTo(null); // Center the frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200); frame.setVisible(true);
}
class Listener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(new java.util.Date(e.getWhen()));
if (e.getSource() == jbtEnlarge)
canvas.enlarge();
else if (e.getSource() == jbtShrink)
canvas.shrink();
}
}
}
CirclePanel
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
class CirclePanel extends JPanel
{
private int radius = 5; // Default circle radius
/** Enlarge the circle */
public void enlarge()
{
radius++;
repaint();
}
/** shrink the circle */
public void shrink()
{
radius--;
repaint();
}
/** Repaint the circle */
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.green);
g.drawOval(getWidth() / 2 - radius, getHeight() / 2 - radius, 2 *
radius, 2 * radius);
g.fillOval(getWidth() / 2 - radius, getHeight() / 2 - radius, 2 *
radius, 2 * radius);
}
Test
import javax.swing.JFrame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class StudentData extends JFrame{
public StudentData() {
JTable table;
String tableHeader[] = {"Name","Age","CNIC","Father's
Name","Address","Contact NO.","Email"};
String tableData[][] = new String[2][7];
tableData[0][0]="Ahmed Abdullah";
tableData[0][1]="17";
tableData[0][2]="36601-xxxxxxx-9";
tableData[0][3]="Tariq";
tableData[0][4]="NUST H-12";
tableData[0][5]="0303xxxxxxx";
tableData[0][6]="aabdullah.bscs18seecs";
tableData[1][0]="Muhammad Ali";
tableData[1][1]="19";
tableData[1][2]="33100-xxxxxxx-5";
tableData[1][3]="Adam";
tableData[1][4]="NUST H-12";
tableData[1][5]="0310xxxxxxx";
tableData[1][6]="mbilal.bscs17seecs";
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 7; j++) {
System.out.print(tableData[i][j]);
}
}
table = new JTable(tableData, tableHeader);
JScrollPane scrollPane = new JScrollPane(table);
this.add(scrollPane, BorderLayout.CENTER);
setVisible(true);
setBounds(200, 200, 300, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
Test
import javax.swing.JFrame;
Task # 2
StudentData
import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class StudentData extends JFrame{
JButton b=new JButton("Show");
public StudentData() {
JTable table;
String tableHeader[] = {"Name","Age","CNIC","Father's
Name","Address","Contact NO.","Email"};
String tableData[][] = new String[2][7];
tableData[0][0]="Ahmed Abdullah";
tableData[0][1]="17";
tableData[0][2]="36601-xxxxxxx-9";
tableData[0][3]="Abu g";
tableData[0][4]="NUST H-12";
tableData[0][5]="0303xxxxxxx";
tableData[0][6]="mtariq.bscs18seecs";
tableData[1][0]="Muhammad Bilal";
tableData[1][1]="19";
tableData[1][2]="33100-xxxxxxx-5";
tableData[1][3]="Adam";
tableData[1][4]="NUST H-12";
tableData[1][5]="0310xxxxxxx";
tableData[1][6]="mbilal.bscs17seecs";
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 7; j++) {
System.out.print(tableData[i][j]);
}
}
table = new JTable(tableData, tableHeader);
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.add(b);
this.add(scrollPane, BorderLayout.CENTER);
this.add(b, BorderLayout.SOUTH);
table.setVisible(false);
b.setVisible(true);
b.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e)
{
table.setVisible(true);
}
});
setBounds(200, 200, 300, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
Test
import javax.swing.JFrame;
}
}
}
RectanglePanel
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
Output