Opp Lab 11

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Name: Ahmed Abdullah

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.*;

public class Activity1 extends JFrame

Activity1()

JTable table;

String tableHeader[]= {"Col 1","Col 2","Col 3"};

String tableData[][]= new String[5][3];{

for(int i=0; i<5; i++ )

for(int j=0; j< 3; j++)

tableData[i][j]=i+","+j;

table = new JTable(tableData, tableHeader);

table.addMouseListener( new MouseAdapter()

public void mouseClicked(MouseEvent e)

int row= table.getSelectedRow();


int col= table.getSelectedColumn();

JOptionPane.showMessageDialog(null, "Selected Row = "+row+"\nSelected


Col:"+col);

});

JScrollPane scrollPane = new JScrollPane(table);

this.add(scrollPane, BorderLayout.CENTER);

Test
import javax.swing.JFrame;

public class Test extends JFrame{


public static void main(String [] args)
{
Activity1 s=new Activity1();
s.setVisible(true);
}
}

Output

Activity # 2
TestPaintComponent
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.*;

public class TestPaintComponent extends JFrame


{
public TestPaintComponent()
{
add(new NewPanel());
this.setBounds(100,100,250,250);
this.setVisible(true);
}
public static void main(String[] args)
{
TestPaintComponent frame = new TestPaintComponent();
frame.setTitle("Test Paint Component");
}
class NewPanel extends JPanel
{
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.RED);
g.drawLine(0, 0, 50, 50);
g.drawString("Ahmed Abdullah", 50, 50);
}
}
}

Test
import javax.swing.JFrame;

public class Test extends JFrame{


public static void main(String [] args)
{
TestPaintComponent m=new TestPaintComponent();
m.setVisible(true);
}
}
Output
Activity # 3
ControlCircle
import java.awt.*;
import javax.swing.*;

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;

public class Test extends JFrame{


public static void main(String [] args)
{
ControlCircle m=new ControlCircle();
m.setVisible(true);
}
}
Output
Task # 1
StudentData
import java.awt.BorderLayout;

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;

public class Test extends JFrame{


public static void main(String [] args)
{
StudentData m=new StudentData();
m.setVisible(true);
}
}
Output

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;

public class Test extends JFrame{


public static void main(String [] args)
{
StudentData s=new StudentData();
s.setVisible(true);
}
}
Output
Task # 3
ControlRectangle
import java.awt.*;
import javax.swing.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ControlRectangle extends JFrame


{
private JButton jbtEnlarge = new JButton("Enlarge");
private JButton jbtShrink = new JButton("Shrink");
private JLabel l1=new JLabel("Initial Width = 5, Initial Length = 10");
private JTextField j1=new JTextField(30);
private CirclePanel canvas = new CirclePanel();
public ControlRectangle()
{
JPanel panel = new JPanel(); // Use the panel to group buttons
panel.add(l1);
panel.add(j1);
panel.add(jbtEnlarge);
panel.add(jbtShrink);
this.add(j1, BorderLayout.NORTH);
this.add(l1, BorderLayout.WEST);
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 ControlRectangle();
frame.setTitle("ControlRectangle2");
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) {
Date today = Calendar.getInstance().getTime();
String pattern = "MM/dd/yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern);
String todayAsString = df.format(today);
j1.setText(todayAsString);
if (e.getSource() == jbtEnlarge)
canvas.enlarge();
else if (e.getSource() == jbtShrink)
canvas.shrink();

}
}
}

RectanglePanel
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;

class RectanglePanel extends JPanel {


private int width = 20; // Default rectangle Width
private int Length = 40; // Default rectangle Length

/** Enlarge the circle */


public void enlarge() {
width++;
Length++;
repaint();
}

/** shrink the circle */


public void shrink() {
width--;
Length--;
repaint();
}

/** Repaint the circle */


protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.green);
g.fillRect(width, Length, 2*width,2* Length);
}

Output

You might also like