Arbeit.java public class Arbeit extends Worker { int hourlypay; // public Arbeit(String n, int h) { super(n); hourlypay = h; public void addsalary(int

Similar documents
CS 335 Lecture 06 Java Programming GUI and Swing

// Correntista. //Conta Corrente. package Banco; public class Correntista { String nome, sobrenome; int cpf;

Using A Frame for Output

Advanced Network Programming Lab using Java. Angelos Stavrou

Swing. A Quick Tutorial on Programming Swing Applications

INTRODUCTION TO COMPUTER PROGRAMMING. Richard Pierse. Class 7: Object-Oriented Programming. Introduction

5.17 GUI. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Informatik II. // ActionListener hinzufügen btnconvert.addactionlistener(this); super.setdefaultcloseoperation(jframe.

Homework/Program #5 Solutions

The Abstract Windowing Toolkit. Java Foundation Classes. Swing. In April 1997, JavaSoft announced the Java Foundation Classes (JFC).

Graphical User Interfaces

Programming with Java GUI components

public class Craps extends JFrame implements ActionListener { final int WON = 0,LOST =1, CONTINUE = 2;

file://c:\dokumente und Einstellungen\Marco Favorito\Desktop\ScanCmds.html

Dev Articles 05/25/07 11:07:33

Tema: Encriptación por Transposición

Fachbereich Informatik und Elektrotechnik Java Swing. Advanced Java. Java Swing Programming. Programming in Java, Helmut Dispert

Skills and Topics for TeenCoder: Java Programming

TP #4 b. ClientBourse.java Classe principale du client graphique et fonction main.

Remote Method Invocation

Lösningsförslag till tentamen


JiST Graphical User Interface Event Viewer. Mark Fong

GUIs with Swing. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2012

DHBW Karlsruhe, Vorlesung Programmieren, Remote Musterlösungen

How To Build A Swing Program In Java.Java.Netbeans.Netcode.Com (For Windows) (For Linux) (Java) (Javax) (Windows) (Powerpoint) (Netbeans) (Sun) (

Essentials of the Java(TM) Programming Language, Part 1

Karsten Lentzsch JGoodies SWING WITH STYLE

public class demo1swing extends JFrame implements ActionListener{

Callbacks. Callbacks Copyright 2007 by Ken Slonneger 1

GOPAL RAMALINGAM MEMORIAL ENGINEERING COLLEGE. Rajeshwari nagar, Panapakkam, Near Padappai, Chennai

How Scala Improved Our Java

Extending Desktop Applications to the Web

Essentials of the Java Programming Language

How to Convert an Application into an Applet.

Java GUI Programming. Building the GUI for the Microsoft Windows Calculator Lecture 2. Des Traynor 2005

GUI Components: Part 2

JIDE Action Framework Developer Guide

Java GUI Programming

Artificial Intelligence. Class: 3 rd

Developing GUI Applications: Architectural Patterns Revisited

Appendix B Task 2: questionnaire and artefacts

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Assignment # 2: Design Patterns and GUIs

Fondamenti di Java. Introduzione alla costruzione di GUI (graphic user interface)

Part IV: Java Database Programming

JIDE Common Layer Developer Guide (Open Source Project)

CS108, Stanford Handout #33. Sockets

Introduction to the Java Programming Language

JMenu TentMenu. +TentMenu(s:String) -rcs():void +createmenuitem(itemname:stri +createmenuitem(itemname:stri +createcheckmenuitem(itemnam

Java Appletek II. Applet GUI

Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability

During the process of creating ColorSwitch, you will learn how to do these tasks:

Using NetBeans IDE for Desktop Development. Geertjan Wielenga

Yosemite National Park, California. CSE 114 Computer Science I Inheritance

Programação Orientada a Objetos. Programando Interfaces Gráficas Orientadas a Objeto Parte 2

OBJECT ORIENTED PROGRAMMING IN JAVA EXERCISES

Chapter 2 Introduction to Java programming

The Basic Java Applet and JApplet

Analysis Of Source Lines Of Code(SLOC) Metric

Medientechnik. Übung MVC

Assignment No.3. /*-- Program for addition of two numbers using C++ --*/

Java is commonly used for deploying applications across a network. Compiled Java code

CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus

The Design and Implementation of Multimedia Software

Lab 1A. Create a simple Java application using JBuilder. Part 1: make the simplest Java application Hello World 1. Start Jbuilder. 2.

Tutorial Reference Manual. Java WireFusion 4.1

MVC Table Model / View / Controller

Altas, Bajas y Modificaciones de Registros en tabla MYSQL

The class JOptionPane (javax.swing) allows you to display a dialog box containing info. showmessagedialog(), showinputdialog()

Object Oriented Programming with Java. School of Computer Science University of KwaZulu-Natal

Mouse Event Handling (cont.)

ICOM 4015: Advanced Programming

CS506 Web Design and Development Solved Online Quiz No. 01

public class Application extends JFrame implements ChangeListener, WindowListener, MouseListener, MouseMotionListener {

Principles of Software Construction: Objects, Design and Concurrency. GUIs with Swing. toad Spring 2013

Example 1: Creating Jframe. Example 2: CenterFrame. Jaeki Song, Ph.D. Box Lubbock, TX, PH:

How To Write A Program For The Web In Java (Java)

Generation and Handcoding

11. Applets, normal window applications, packaging and sharing your work

Java Applets. CSE219, Computer Science III Stony Brook University

First Java Programs. V. Paúl Pauca. CSC 111D Fall, Department of Computer Science Wake Forest University. Introduction to Computer Science

The following program is aiming to extract from a simple text file an analysis of the content such as:

CS211 Spring 2005 Final Exam May 17, Solutions. Instructions

Schueler-Organisiertes Lernen am Beispiel von Grafischen Benutzer-Schnittstellen in Java Tag der Offenen Tür - GTS 2008

Mapping to the Windows Presentation Framework

Inheritance, overloading and overriding

AT68 JAVA & WEB PROGRAMMING JUN 2015

Construction of classes with classes

Lab 9. Spam, Spam, Spam. Handout 11 CSCI 134: Spring, To gain experience with Strings. Objective

Course/Year W080/807 Expected Solution Subject: Software Development to Question No: 1

Summer Internship 2013

Illustration 1: An applet showing constructed responses in an intuitive mode. Note the misprint!

D06 PROGRAMMING with JAVA

Projektet Computer: Specifikation. Objektorienterad modellering och diskreta strukturer / design. Projektet Computer: Data. Projektet Computer: Test

An Overview of Java. overview-1

Creating a Simple, Multithreaded Chat System with Java

Lecture VII JAVA SWING GUI TUTORIAL

Software Design: Figures

Konzepte objektorientierter Programmierung

Transcription:

Worker.java public abstract class Worker { String name; int salary; // // public Worker(String n) { name = n; salary = 0; public String getname() { return name; public int getsalary() { return salary; public abstract void addsalary(int start, int end); Staff.java public class Staff extends Worker { int dailypay; // public Staff(String n, int d) { super(n); dailypay = d; public void addsalary(int start, int end) { salary += dailypay; int time = end - start; if(time > 8) { salary += (time - 8) dailypay 1.5 / 8; 1

Arbeit.java public class Arbeit extends Worker { int hourlypay; // public Arbeit(String n, int h) { super(n); hourlypay = h; public void addsalary(int start, int end) { salary += (end - start) hourlypay; GUI 1: GUI CompanyFrame.java import java.awt.; import java.awt.event.; import javax.swing.; import javax.swing.border.; import java.util.; public class CompanyFrame extends JFrame { 2

Company acompany; JList workerslst; JButton addbtn, removebtn; JLabel sumlbl; JMenuItem exititm; // public CompanyFrame() { JMenuBar bar = new JMenuBar(); JMenu filemn = new JMenu(" "); exititm = new JMenuItem(" "); ActionListener listener = new CompanyActionListener(this); exititm.addactionlistener(listener); filemn.add(exititm); bar.add(filemn); setjmenubar(bar); JPanel panel1 = new JPanel(new BorderLayout()); workerslst = new JList(new DefaultListModel()); workerslst.addmouselistener(new CompanyMouseListener(this)); JScrollPane pane = new JScrollPane(workersLst); pane.setborder(new TitledBorder(" ")); panel1.add(pane, "Center"); sumlbl = new JLabel("0 ", JLabel.CENTER); sumlbl.setborder(new TitledBorder(" ")); panel1.add(sumlbl, "South"); getcontentpane().add(panel1, "Center"); JPanel panel2 = new JPanel(); addbtn = new JButton(" "); addbtn.addactionlistener(listener); panel2.add(addbtn); removebtn = new JButton(" "); removebtn.addactionlistener(listener); panel2.add(removebtn); getcontentpane().add(panel2, "South"); setsize(200, 250); // public void setcompany(company c) { acompany = c; update(); // public Company getcompany() { return acompany; Worker public Worker getselectedworker() { DefaultListModel model = (DefaultListModel) workerslst.getmodel(); Iterator it = acompany.workers.iterator(); while(it.hasnext()) { Worker w = (Worker) it.next(); if(w.getname().equals(workerslst.getselectedvalue())) return w; 3

return null; public void update() { settitle(acompany.getname()); DefaultListModel model = (DefaultListModel) workerslst.getmodel(); model.removeallelements(); Iterator it = acompany.workers.iterator(); while(it.hasnext()) { model.addelement(((worker)it.next()).getname()); sumlbl.settext(string.valueof(acompany.sumsalary()) + " "); public static void main(string args[]) { Company soft = new Company(" "); Worker hisashi = new Staff(" ", 15000); Worker keiji = new Arbeit(" ", 1000); soft.addworker(hisashi); soft.addworker(keiji); hisashi.addsalary(9, 20); keiji.addsalary(8, 17); CompanyFrame frame = new CompanyFrame(); frame.setcompany(soft); frame.setvisible(true); CompanyActionListener.java import java.awt.event.; public class CompanyActionListener implements ActionListener { CompanyFrame frame; public CompanyActionListener(CompanyFrame f) { frame = f; public void actionperformed(actionevent e) { if(e.getsource().equals(frame.addbtn)) { AddWorkerDialog dialog = new AddWorkerDialog(frame); dialog.setvisible(true); 4

else if(e.getsource().equals(frame.removebtn)) { frame.getcompany().removeworker(frame.getselectedworker()); frame.update(); else if(e.getsource().equals(frame.exititm)) { System.exit(0); AddWorkerDialog.java import java.awt.; import java.awt.event.; import javax.swing.; public class AddWorkerDialog extends JDialog { ButtonGroup group; JTextField namefld, payfld; JButton okbtn, cancelbtn; public AddWorkerDialog(CompanyFrame f) { super(f, " ", true); JPanel panel1 = new JPanel(); group = new ButtonGroup(); JRadioButton staff = new JRadioButton(" ", true); JRadioButton arbeit = new JRadioButton(" ", false); staff.setactioncommand("staff"); arbeit.setactioncommand("arbeit"); group.add(staff); group.add(arbeit); panel1.add(staff); panel1.add(arbeit); getcontentpane().add(panel1, "North"); JPanel panel2 = new JPanel(); panel2.add(new JLabel(" :")); namefld = new JTextField(10); panel2.add(namefld); panel2.add(new JLabel(" :")); payfld = new JTextField(6); panel2.add(payfld); getcontentpane().add(panel2, "Center"); JPanel panel3 = new JPanel(); ActionListener listener = new AddWorkerButtonListener(f, this); okbtn = new JButton(" "); okbtn.addactionlistener(listener); panel3.add(okbtn); cancelbtn = new JButton(" "); 5

cancelbtn.addactionlistener(listener); panel3.add(cancelbtn); getcontentpane().add(panel3, "South"); pack(); AddWorkerButtonListener.java import java.awt.event.; public class AddWorkerButtonListener implements ActionListener { CompanyFrame frame; AddWorkerDialog dialog; public AddWorkerButtonListener(CompanyFrame f, AddWorkerDialog d) { frame = f; dialog = d; public void actionperformed(actionevent e) { if(e.getsource().equals(dialog.okbtn)) { Worker worker; String name = dialog.namefld.gettext(); int pay = Integer.parseInt(dialog.payFld.getText()); if(dialog.group.getselection().getactioncommand().equals("staff")) { worker = new Staff(name, pay); else { worker = new Arbeit(name, pay); frame.getcompany().addworker(worker); frame.update(); dialog.setvisible(false); CompanyMouseListener.java import java.awt.event.; public class CompanyMouseListener extends MouseAdapter { CompanyFrame frame; 6

public CompanyMouseListener(CompanyFrame f) { frame = f; public void mouseclicked(mouseevent e) { if(e.getclickcount() == 2) { Worker worker = frame.getselectedworker(); AddSalaryDialog dialog = new AddSalaryDialog(frame, worker); dialog.setvisible(true); AddSalaryDialog.java import java.awt.; import java.awt.event.; import javax.swing.; public class AddSalaryDialog extends JDialog { Worker aworker; JComboBox startcmb, endcmb; JButton okbtn, cancelbtn; public AddSalaryDialog(CompanyFrame f, Worker w) { super(f, w.getname() + " ", true); aworker = w; JPanel panel1 = new JPanel(); panel1.add(new JLabel(" ")); startcmb = new JComboBox(); for(int i = 8; i <= 24; i++) { startcmb.additem(string.valueof(i)); panel1.add(startcmb); panel1.add(new JLabel(" ")); endcmb = new JComboBox(); for(int i = 8; i <= 24; i++) { endcmb.additem(string.valueof(i)); panel1.add(endcmb); getcontentpane().add(panel1, "North"); JPanel panel2 = new JPanel(); ActionListener listener = new AddSalaryButtonListener(f, this); okbtn = new JButton(" "); okbtn.addactionlistener(listener); panel2.add(okbtn); 7

cancelbtn = new JButton(" "); cancelbtn.addactionlistener(listener); panel2.add(cancelbtn); getcontentpane().add(panel2, "South"); pack(); //Worker public Worker getworker() { return aworker; AddSalaryButtonListener.java import java.awt.event.; public class AddSalaryButtonListener implements ActionListener { CompanyFrame frame; AddSalaryDialog dialog; public AddSalaryButtonListener(CompanyFrame f, AddSalaryDialog d) { frame = f; dialog = d; public void actionperformed(actionevent e) { if(e.getsource().equals(dialog.okbtn)) { Worker worker = dialog.getworker(); int start = Integer.parseInt((String)dialog.startCmb.getSelectedItem()); int end = Integer.parseInt((String)dialog.endCmb.getSelectedItem()); worker.addsalary(start, end); frame.update(); dialog.setvisible(false); 8

9 2: GUI Worker Company name:string name:string salary:int getname():string 1 getname():string addworker(w:worker):void getsalary():int sumsalary():int addsalary(start:int, end:int):void CompanyFrame workerslst:jlist addbtn,removebtn:jbutton sumlbl:jlabel exititm:jmenuitem getselectedworker():worker update():void CompanyActionListener actionperformed(e:actionevent):void Staff dailypay:int addsalary(start:int, end:int):void CompanyMouseListener mouseclicked(e:mouseevent):void Arbeit hourlypay:int addsalary(start:int, end:int):void AddSalaryDialog startcmb,endcmb:jcombobox okbtn,cancelbtn:jbutton AddWorkerButtonListener actionperformed(e:actionevent):void AddWorkerDialog group:buttongroup namefld,payfld:jtextfield okbtn,cancelbtn:jbutton AddSalaryButtonListener actionperformed(e:actionevent):void