java
java
public SumWithKeyAdapter() {
setTitle("Sum Calculator");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(4, 2));
add(new JLabel("Result:"));
resultField = new JTextField();
resultField.setEditable(false);
add(resultField);
num1Field.addKeyListener(keyAdapter);
num2Field.addKeyListener(keyAdapter);
setVisible(true);
}
JDBC Components:
public AddNumbersSwing() {
setTitle("Addition Program");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(4, 2));
add(new JLabel("Result:"));
resultField = new JTextField();
resultField.setEditable(false);
add(resultField);
num1Field.addKeyListener(keyAdapter);
num2Field.addKeyListener(keyAdapter);
setVisible(true);
}
public StudentInfoTable() {
setTitle("Student Information");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
// Input panel
JPanel inputPanel = new JPanel(new GridLayout(2, 2));
inputPanel.add(new JLabel("Symbol Number:"));
symbolField = new JTextField();
inputPanel.add(symbolField);
add(inputPanel, BorderLayout.NORTH);
// Table
tableModel = new DefaultTableModel();
tableModel.addColumn("Symbol Number");
tableModel.addColumn("First Name");
// Add button
JButton addButton = new JButton("Add Student");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String symbol = symbolField.getText();
String name = nameField.getText();
add(addButton, BorderLayout.SOUTH);
setVisible(true);
}
// View
public class StudentView {
public void printStudentDetails(String rollNo, String name) {
System.out.println("Student:");
System.out.println("Roll No: " + rollNo);
System.out.println("Name: " + name);
}
}
// Controller
public class StudentController {
private Student model;
private StudentView view;
// Usage
public class MVCPatternDemo {
public static void main(String[] args) {
// Create model
Student student = new Student();
student.setRollNo("101");
student.setName("John Doe");
// Create view
StudentView view = new StudentView();
// Create controller
StudentController controller = new StudentController(student, view);
// Update view
controller.updateView();
// Update model
controller.setStudentName("Jane Smith");
controller.updateView();
}
}
Comparison:
Layout
Description When to Use
Manager
Example:
java
Cop
JFrame frame = new JFrame("Layout Demo");
frame.setLayout(new BorderLayout());
public DivisionCalculator() {
setTitle("Division Calculator");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(4, 2));
add(new JLabel("Numerator:"));
num1Field = new JTextField();
add(num1Field);
add(new JLabel("Denominator:"));
num2Field = new JTextField();
add(num2Field);
add(new JLabel("Result:"));
resultField = new JTextField();
resultField.setEditable(false);
add(resultField);
if (denominator == 0) {
throw new ArithmeticException("Cannot divide by zero"
);
}
double result = numerator / denominator;
resultField.setText(String.format("%.2f", result));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(DivisionCalculator.this,
"Please enter valid numbers",
"Input Error",
JOptionPane.ERROR_MESSAGE);
} catch (ArithmeticException ex) {
JOptionPane.showMessageDialog(DivisionCalculator.this,
ex.getMessage(),
"Math Error",
JOptionPane.ERROR_MESSAGE);
}
}
});
add(calculateButton);
setVisible(true);
}
public AWTCalculator() {
setTitle("AWT Calculator");
setSize(300, 400);
setLayout(new BorderLayout());
// Display
display = new TextField();
display.setEditable(false);
add(display, BorderLayout.NORTH);
// Buttons
Panel buttonPanel = new Panel(new GridLayout(4, 4));
String[] buttons = {
"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"C", "0", "=", "+"
};
add(buttonPanel, BorderLayout.CENTER);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
}
});
setVisible(true);
}
switch (command) {
case "0": case "1": case "2": case "3":
case "4": case "5": case "6": case "7":
case "8": case "9":
display.setText(display.getText() + command);
break;
case "=":
secondNumber = Double.parseDouble(display.getText());
double result = calculate();
display.setText(String.valueOf(result));
break;
case "C":
display.setText("");
firstNumber = secondNumber = 0;
operation = null;
break;
}
}