0% found this document useful (0 votes)
12 views

22BCE10439 Adv_Java Class Work 2

Uploaded by

Harsh Burman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

22BCE10439 Adv_Java Class Work 2

Uploaded by

Harsh Burman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Name: Harsh Burman

Registration No.: 22BCE10439

Class Work-2

Program 1: Swing Menu


import javax.swing.*;
import java.awt.event.*;

public class SwingMenu {


public static void main(String[] args) {
JFrame frame = new JFrame("Swing Menu Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);

JPanel panel = new JPanel();

JMenuBar menuBar = new JMenuBar();

JMenu fileMenu = new JMenu("File");


fileMenu.setMnemonic(KeyEvent.VK_F);

ImageIcon newIcon = new ImageIcon("./icons/new.png");


ImageIcon openIcon = new ImageIcon("./icons/open.png");
ImageIcon exitIcon = new ImageIcon("./icons/exit.png");

JMenuItem newItem = new JMenuItem("New", newIcon);


newItem.setMnemonic(KeyEvent.VK_N);
newItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
ActionEvent.CTRL_MASK));
newItem.addActionListener(e -> JOptionPane.showMessageDialog(frame, "New
File Selected"));

JMenuItem openItem = new JMenuItem("Open", openIcon);


openItem.setMnemonic(KeyEvent.VK_O);
openItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
ActionEvent.CTRL_MASK));
openItem.addActionListener(e -> JOptionPane.showMessageDialog(frame, "Open
File Selected"));

JMenuItem exitItem = new JMenuItem("Exit", exitIcon);


exitItem.setMnemonic(KeyEvent.VK_X);
exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
ActionEvent.CTRL_MASK));
exitItem.addActionListener(e -> System.exit(0));

JCheckBoxMenuItem autoSaveItem = new JCheckBoxMenuItem("Auto Save");


autoSaveItem.setSelected(true);
autoSaveItem.addActionListener(e -> {
if (autoSaveItem.isSelected()) {
JOptionPane.showMessageDialog(frame, "Auto Save Enabled");
} else {
JOptionPane.showMessageDialog(frame, "Auto Save Disabled");
}
});

ButtonGroup group = new ButtonGroup();


JRadioButtonMenuItem lightModeItem = new JRadioButtonMenuItem("Light
Mode");
JRadioButtonMenuItem darkModeItem = new JRadioButtonMenuItem("Dark
Mode");
group.add(lightModeItem);
group.add(darkModeItem);
lightModeItem.setSelected(true);

fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
fileMenu.addSeparator();
fileMenu.add(autoSaveItem);
fileMenu.addSeparator();
fileMenu.add(lightModeItem);
fileMenu.add(darkModeItem);
menuBar.add(fileMenu);

JMenu editMenu = new JMenu("Edit");


JMenuItem copyItem = new JMenuItem("Copy");
copyItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
ActionEvent.CTRL_MASK));
copyItem.addActionListener(e -> JOptionPane.showMessageDialog(frame, "Copy
selected"));

JMenuItem pasteItem = new JMenuItem("Paste");


pasteItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
ActionEvent.CTRL_MASK));
pasteItem.addActionListener(e -> JOptionPane.showMessageDialog(frame, "Paste
selected"));

editMenu.add(copyItem);
editMenu.add(pasteItem);
menuBar.add(editMenu);

JToolBar toolBar = new JToolBar();


JButton newButton = new JButton(new ImageIcon("./icons/new.png"));
newButton.setToolTipText("New");
newButton.addActionListener(e -> JOptionPane.showMessageDialog(frame, "New
File from Toolbar"));

JButton openButton = new JButton(new ImageIcon("./icons/open.png"));


openButton.setToolTipText("Open");
openButton.addActionListener(e -> JOptionPane.showMessageDialog(frame, "Open
File from Toolbar"));

JButton exitButton = new JButton(new ImageIcon("./icons/exit.png"));


exitButton.setToolTipText("Exit");
exitButton.addActionListener(e -> System.exit(0));

toolBar.add(newButton);
toolBar.add(openButton);
toolBar.addSeparator();
toolBar.add(exitButton);

frame.setJMenuBar(menuBar);
frame.add(toolBar, "North");

frame.setVisible(true);
}
}
Output:
Program 2: Swing Dialog Boxes
import javax.swing.*;
import java.awt.*;
import java.io.File;

public class SwingDialog {


public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("Swing Dialog Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 400);

JButton optionDialogButton = new JButton("Show Option Dialog");


optionDialogButton.addActionListener(e -> {
int result = JOptionPane.showConfirmDialog(frame, "Do you want to
proceed?",
"Option Dialog", JOptionPane.YES_NO_CANCEL_OPTION);
JOptionPane.showMessageDialog(frame, "You selected: " +
(result == JOptionPane.YES_OPTION ? "Yes" : result ==
JOptionPane.NO_OPTION ? "No" : "Cancel"));
});

JButton customDialogButton = new JButton("Show Custom Dialog");


customDialogButton.addActionListener(e -> {
JDialog customDialog = new JDialog(frame, "Custom Dialog", true);
customDialog.setSize(300, 150);
customDialog.setLayout(new FlowLayout());
customDialog.add(new JLabel("This is a custom dialog box."));
JButton closeButton = new JButton("Close");
closeButton.addActionListener(ev -> customDialog.dispose());
customDialog.add(closeButton);
customDialog.setLocationRelativeTo(frame);
customDialog.setVisible(true);
});

JButton fileChooserButton = new JButton("Show File Chooser");


fileChooserButton.addActionListener(e -> {
JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(frame);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
JOptionPane.showMessageDialog(frame, "File selected: " +
selectedFile.getAbsolutePath());
}
});

JButton colorChooserButton = new JButton("Show Color Chooser");


colorChooserButton.addActionListener(e -> {
Color selectedColor = JColorChooser.showDialog(frame, "Choose a Color",
Color.WHITE);
if (selectedColor != null) {
frame.getContentPane().setBackground(selectedColor);
JOptionPane.showMessageDialog(frame, "Selected color: " +
selectedColor);
}
});

JPanel panel = new JPanel();


panel.setLayout(new GridLayout(4, 1, 10, 10));
panel.add(optionDialogButton);
panel.add(customDialogButton);
panel.add(fileChooserButton);
panel.add(colorChooserButton);

frame.add(panel);
frame.setVisible(true);
});
}
}
Output:
Program 3: Swing Component Organizer
import javax.swing.*;
import java.awt.*;

public class SwingComponentOrganizer {


public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("Swing Component Organizer Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1000, 600);

JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);

JTabbedPane tabbedPane = new JTabbedPane();


JTextArea textArea1 = new JTextArea("Content of Tab 1");
textArea1.setEditable(true);
tabbedPane.addTab("Tab 1", new JScrollPane(textArea1));
JTextArea textArea2 = new JTextArea("Content of Tab 2");
textArea2.setEditable(true);
tabbedPane.addTab("Tab 2", new JScrollPane(textArea2));

JTextArea textArea3 = new JTextArea("Content of Tab 3");


textArea3.setEditable(true);
tabbedPane.addTab("Tab 3", new JScrollPane(textArea3));

JDesktopPane desktopPane = new JDesktopPane();


for (int i = 0; i < 3; i++) {
JInternalFrame internalFrame = new JInternalFrame("Internal Frame " + (i +
1), true, true, true, true);
internalFrame.setSize(200, 150);
internalFrame.setLocation(i * 50, i * 50);
internalFrame.setVisible(true);
desktopPane.add(internalFrame);
}

JPanel controlsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));


JButton cascadeButton = new JButton("Cascade");
JButton tileButton = new JButton("Tile");
controlsPanel.add(cascadeButton);
controlsPanel.add(tileButton);

cascadeButton.addActionListener(e -> cascadeWindows(desktopPane));


tileButton.addActionListener(e -> tileWindows(desktopPane));

JPanel desktopWithControlsPanel = new JPanel(new BorderLayout());


desktopWithControlsPanel.add(desktopPane, BorderLayout.CENTER);
desktopWithControlsPanel.add(controlsPanel, BorderLayout.NORTH);

splitPane.setTopComponent(tabbedPane);
splitPane.setBottomComponent(desktopWithControlsPanel);

splitPane.setDividerLocation(250);

frame.setLayout(new BorderLayout());
frame.add(splitPane, BorderLayout.CENTER);
frame.setVisible(true);
});
}

private static void cascadeWindows(JDesktopPane desktopPane) {


int offset = 30;
int x = 0, y = 0;
for (JInternalFrame frame : desktopPane.getAllFrames()) {
frame.setLocation(x, y);
x += offset;
y += offset;
try {
frame.setSelected(true);
} catch (Exception ignored) {
}
}
}

private static void tileWindows(JDesktopPane desktopPane) {


JInternalFrame[] frames = desktopPane.getAllFrames();
int count = frames.length;
if (count == 0)
return;

int rows = (int) Math.sqrt(count);


int cols = (int) Math.ceil((double) count / rows);

Dimension size = desktopPane.getSize();


int w = size.width / cols;
int h = size.height / rows;

int x = 0, y = 0;
for (int i = 0; i < frames.length; i++) {
frames[i].setBounds(x, y, w, h);
x += w;
if ((i + 1) % cols == 0) {
x = 0;
y += h;
}
try {
frames[i].setSelected(true);
} catch (Exception ignored) {
}
}
}
}

Output:
Program 4: Advanced Swing Components
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;

public class AdvancedSwingComponents {


public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("Advanced Swing Components");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600);

JPanel mainPanel = new JPanel(new GridLayout(2, 2, 10, 10));

JList<String> list = new JList<>(new String[] { "Item 1", "Item 2", "Item 3",
"Item 4" });
JScrollPane listScrollPane = new JScrollPane(list);
mainPanel.add(listScrollPane);

DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root");


DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Node 1");
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Node 2");
node1.add(new DefaultMutableTreeNode("Child 1"));
node1.add(new DefaultMutableTreeNode("Child 2"));
node2.add(new DefaultMutableTreeNode("Child 3"));
root.add(node1);
root.add(node2);
JTree tree = new JTree(root);
JScrollPane treeScrollPane = new JScrollPane(tree);
mainPanel.add(treeScrollPane);

String[] columnNames = { "Column 1", "Column 2", "Column 3" };


Object[][] data = {
{ "Row 1", "Value 1", "Value 2" },
{ "Row 2", "Value 3", "Value 4" },
{ "Row 3", "Value 5", "Value 6" }
};
JTable table = new JTable(new DefaultTableModel(data, columnNames));
JScrollPane tableScrollPane = new JScrollPane(table);
mainPanel.add(tableScrollPane);

JProgressBar progressBar = new JProgressBar(0, 100);


progressBar.setValue(75);
progressBar.setStringPainted(true);
mainPanel.add(progressBar);

frame.add(mainPanel);
frame.setVisible(true);
});
}
}
Output:

You might also like