import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DateFormat; import java.util.Date; import java.util.Scanner; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.Timer; /** * */ /** * @author Donald Yessick * */ public class Lab9 extends JComponent { private Scanner keyboard; private String prompt= "Welcome"; private String echo = "user enterd: nothing to echo"; /** * getWindow is a helper to keep main clean and simple * handles the details of creating a window * for our JComponent * @returns a window with our component **/ private JFrame getWindow() { //this is the lab8 object JFrame window = new JFrame(this.toString()); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setBounds( 0,0, 600, 400); window.setContentPane(this); return window; } private String inputWord= "No data"; private int inputWholeNumber=Integer.MIN_VALUE; private double inputRealNumber=Double.NaN; private String inputLine= "No data"; /** * main is the driver for our program * @param args not used **/ public static void main(String[] args) { Lab9 console = new Lab9(); console.getWindow().setVisible(true); console.inputWord = console.scanWord(); console.inputWholeNumber = console.scanWholeNumber(); console.inputRealNumber = console.scanRealNumber(); console.inputLine = console.scanLine(); } public String scanWord(){ prompt="type a word and press return:"; repaint(); System.out.println(prompt); String inputWord = keyboard.next(); echo = "user enterd: " + inputWord; repaint(); System.out.println(echo); return inputWord; } public int scanWholeNumber(){ prompt="enter a whole number and press return:"; System.out.println(prompt); repaint(); int inputWholeNumber = keyboard.nextInt(); echo = "user enterd: " + inputWholeNumber; System.out.println(echo); repaint(); return inputWholeNumber; } public double scanRealNumber(){ prompt="enter a real number and press return:"; System.out.println(prompt); repaint(); double inputRealNumber = keyboard.nextDouble(); echo = "user enterd: " + inputRealNumber; System.out.println(echo); repaint(); return inputRealNumber; } public String scanLine(){ prompt="input a line of text and press return:"; System.out.println(prompt); repaint(); String inputLine = keyboard.nextLine(); echo = "user enterd: " + inputLine; System.out.println(echo); repaint(); return inputLine; } /** * default constructor. defines window settings **/ public Lab9() { keyboard = new Scanner(System.in); } /** * toString is predefined but not very usefully * @return a string representing this object **/ public String toString(){ return "lab 9"; } public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.blue); g.drawString(prompt,50,50); g.setColor(Color.WHITE); g.fillRect(45,55,300,50); g.setColor(Color.BLACK); g.drawString("inputWord"+inputWord,30,220); g.drawString("inputWholeNumber"+inputWholeNumber,30,240); g.drawString("inputRealNumber"+inputRealNumber,30,260); g.drawString("inputLine"+inputLine,30,280); g.setColor(Color.GREEN.darker().darker()); g.drawString(echo,50,100); } }