Commit 1335d8b3 authored by Trisha Gee's avatar Trisha Gee
Browse files

[Ch15] Examples for swing components

parent bc3cb8d4
Loading
Loading
Loading
Loading
+36 −0
Changes for src/main/java/ch15/CheckboxExample.java: 36 added lines, 0 removed lines.
Original line number Diff line number Diff line
package ch15;

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

public class CheckboxExample {

  private JCheckBox check;

  public static void main(String[] args) {
    CheckboxExample gui = new CheckboxExample();
    gui.go();
  }

  public void go() {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();

    check = new JCheckBox("Goes to 11");
    panel.add(check);

    frame.getContentPane().add(BorderLayout.NORTH, panel);
    frame.setSize(200, 200);
    frame.setVisible(true);
  }

  public void itemStateChanged(ItemEvent e) {
    String onOrOff = "off";
    if (check.isSelected()) {
      onOrOff = "on";
    }
    System.out.println("Check box is " + onOrOff);
  }
}
   
 No newline at end of file
+56 −0
Changes for src/main/java/ch15/ListExample.java: 56 added lines, 0 removed lines.
Original line number Diff line number Diff line
package ch15;

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

public class ListExample implements ListSelectionListener {
  private JList<String> list;

  public static void main(String[] args) {
    ListExample gui = new ListExample();
    gui.go();
  }

  public void go() {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();

    String[] listEntries = {"alpha", "beta", "gamma", "delta",
                            "epsilon", "zeta", "eta", "theta "};

    list = new JList<>(listEntries);
    list.setVisibleRowCount(4);
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    list.addListSelectionListener(this);

    JScrollPane scroller = new JScrollPane(list);
    scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

    panel.add(scroller);

    frame.getContentPane().add(BorderLayout.CENTER, panel);

    frame.setSize(200, 150);
    frame.setVisible(true);
  }

  public void valueChanged(ListSelectionEvent e) {
    if (!e.getValueIsAdjusting()) {
      String selection = list.getSelectedValue();
      System.out.println(selection);
    }
  }
}
      








       
 No newline at end of file
+5 −12
Changes for src/main/java/ch15/TextArea1.java: 5 added lines, 12 removed lines.
Original line number Diff line number Diff line
@@ -4,24 +4,21 @@ import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class TextArea1 implements ActionListener {

  JTextArea text;

public class TextArea1 {
  public static void main(String[] args) {
    TextArea1 gui = new TextArea1();
    gui.go();
  }


  public void go() {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();

    JButton button = new JButton("Just Click It");
    button.addActionListener(this);
    text = new JTextArea(10, 20);

    JTextArea text = new JTextArea(10, 20);
    text.setLineWrap(true);
    button.addActionListener(e -> text.append("button clicked "));

    JScrollPane scroller = new JScrollPane(text);
    scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
@@ -35,10 +32,6 @@ public class TextArea1 implements ActionListener {
    frame.setSize(350, 300);
    frame.setVisible(true);
  }

  public void actionPerformed(ActionEvent ev) {
    text.append("button clicked \n ");
  }
}
      

+28 −0
Changes for src/main/java/ch15/TextFieldExample.java: 28 added lines, 0 removed lines.
Original line number Diff line number Diff line
package ch15;

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

public class TextFieldExample {

  public static void main(String[] args) {
    TextFieldExample gui = new TextFieldExample();
    gui.go();
  }

  public void go() {
    JFrame frame = new JFrame();
    JPanel panel = new JPanel();

    JTextField textField = new JTextField(20);
    JLabel label = new JLabel("Dog's first name:");
    panel.add(label);
    panel.add(textField);

    frame.getContentPane().add(BorderLayout.NORTH, panel);
    frame.setSize(400,200);
    frame.setVisible(true);
  }

}
   
 No newline at end of file