Java project

Status
Niet open voor verdere reacties.

pandabob

Nieuwe gebruiker
Lid geworden
27 feb 2012
Berichten
2
Hey,

Ik moet voor mijn vak Objectgeoriënteerd programmeren in Java een project maken met de volgende vereisten.

1. Werk in 2 lagen (bundel 5): Voorzie een interface (paneel) en een (of meer) business klasse
(en een testklasse). Overerving niet noodzakelijk
- Businessklasse: nodige eigenschappen, minstens 1 array, constructor(s), meerdere
methoden, getters (setters)
- Paneel (bundel 4): Input van gebruiker is noodzakelijk: voor de basisgegevens en om
gegevens te wijzigen
2. Werk met een file: (zelfstudie)
- Gegevens/wijzigingen/verrichtingen opslaan in file
- Gegevens uit file kunnen opvragen/tonen
3. Lay-out:
- verzorgd: vb. aligneren getallen (bundel 4 grafisch herwerkt)
- zorg ook voor enkele grafische elementen: een aantal vaste, maar ook een aantal variabele
elementen (polygoon > werkbundel 4 grafisch herwerkt, animatie en timer > werkbundel 4
uitbreiding deel 2, …)
- zorg voor een mooie lay-out voor de tekstvakken; dit kan niet opgelost worden met de
gridLayout. Dit kan met de lay-outmanager > werkbundel 4 uitbreiding (zelfstudie)
- checkbox, combobox,… > werkbundel 4 uitbreiding
- werk met tabbladen: zie voorbeeld op toledo (uitvoerbare file en deel code)(zelfstudie)
4. Voorzie errorhandling (bundel 5)
5. Gebruiksvriendelijk: vb. tekstvakken enablen/disablen … (bundel 5 + zelfstudie)
6. Voorzie uitleg/handleiding voor de gebruiker (zie voorbeeld tabbladen op toledo)
7. Voorzie voldoende commentaar in de broncode.

Het is de bedoeling dat we zelf een concept zoeken waar in we al deze eisen plus eventuele leuke extra's kunnen verwerken. Nu is de vraag of iemand hier nog leuke suggesties heeft voor mijn project.
Tips en links naar handige tutorials of dergelijk zijn ook welkom.

een voorbeeld uit de les was bijvoorbeeld een bankrekening.

Alvast Bedankt
Glenn
 
Nou moet je eens naar onderstaande projecten kijken

en djdb.be/webstart je vind wel je weg om sneller te werken als je de jar hebt en je signeert een eigen jar met passende propertiefiles bekijk hoe proper,overzichtelijk je main kan zijn.

Code:
public class Main extends MYFORM{


	/**
	 * 
	 */
	private static final long serialVersionUID = 7030378649079986577L;
	private ActionListener saveas;
	private JFileChooser fc ;
	private ActionListener savesettings;
	private ActionListener options;
	private WindowAdapter Close_Options;
	private String local;
	private Locale locale; 
	private Document doc;
	private ActionListener open;
	private ActionListener about;
	private ActionListener serverconnect;
	public Main(String[] args){
		super(Statics.PROJECTNAME,Statics.PROJECTNAME,"CVlieven",false);
		local = super.settings.getProperty("locale",Locale.ENGLISH.toString());
		try {
			locale = new Locale(local);
		} catch (Exception e) {
			e.printStackTrace();
			locale= Locale.ENGLISH;
			super.settings.put("locale",locale.toString());
			super.settings.SaveSettings();
		}
		try {
			doc = new Document("/xmlstyles/cv_fo_nl_NL.xsl","/xmldata/cv.xml");
		
			super.add(doc.createpdf());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		setMinimumSize(new Dimension(500,800));
		setLocale(locale);
		actions();
		gui();
 		pack();
	}
	public static void main(final String[] args) {
        java.awt.EventQueue.invokeLater(new Runnable(){
            public void run(){
                new Main( args).setVisible(true);
            }
        }); 
	}
    private void menusetup(){
        Menu menu= new Menu("CVlieven");
     	menu.addmenuitem("File","open",new JMenuItem());
     	menu.addmenuitem("File","exit",new JMenuItem(),savesettings);
     	menu.addmenuitem("File","saveas",new JMenuItem(),saveas);
     	menu.addmenuitem("Edit","underconstruction",new JMenuItem());
     	menu.addmenuitem("Tools","options",new JMenuItem(),options);
     	menu.addmenuitem("Window","underconstruction",new JMenuItem());
     	menu.addmenuitem("Help","About",new JMenuItem(),about);
		setJMenuBar(menu.getmenubar());
     }
	 private void gui(){
	 	if (Statics.DEBUG){log(Level.WARNING, "LOCAL_GUIsetup" );}
		menusetup();
		framesetup();
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		//addWindowListener(Close_Options);
	 }
	 private void framesetup(){
	 	if (Statics.DEBUG){ log(Level.WARNING, "LOCAL_Framesetup" ); }
	 	add(new JLabel("Documentor Lieven Roegiers =>Open source By Autosite "), BorderLayout.SOUTH);       	
	 }
	private static  void log(Level level, String msg ){
	    String tag ="<>>>>*"+Statics.LIBNAME+"-"+Statics.COPYRIGHTBY+"*<<<<>";
	    Logger.getLogger(Main.class.getName()).log(level, tag + msg);
	}
	private void actions(){
		fc = new JFileChooser();
		saveas = new ActionListener() {
			private String Filename;
			public void actionPerformed(ActionEvent evt) {
				if (Statics.DEBUG){log(Level.WARNING, "save action, event="+evt);}
				//fc.addChoosableFileFilter(new PdfFilter());
				int returnVal = fc.showSaveDialog(Main.this);
				File file = fc.getSelectedFile();
	            if (returnVal == JFileChooser.APPROVE_OPTION) {           	
	            	doc.savedocas(file,TransformtypeEnum.PDF);
	            } else {
	                log(Level.WARNING, "Save command cancelled by user.");
	            }
			}
		};
		open = new ActionListener() {
			private String Filename;
			private File file;
			public void actionPerformed(ActionEvent evt) {
				if (Statics.DEBUG){log(Level.WARNING, "open action, event="+evt);}
				int returnVal = fc.showOpenDialog(Main.this);
	            fc.setFileSelectionMode(JFileChooser.FILES_ONLY );
		      if ( returnVal == JFileChooser.CANCEL_OPTION)
		         file = null;
		      else
		         file = fc.getSelectedFile();
			}
		};
		serverconnect = new ActionListener(){
			public void actionPerformed(ActionEvent evt) {
				settings.SaveSettings();//this that all settings from the prog are saved
		        final JFrame frame = new JFrame();
		        frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		        MYpanel pnltools = new MYpanel("CVlieven");
		        pnltools.addpanelitem("connectionpanel","ok",new JButton(),new ActionListener(){
		        	public void actionPerformed (ActionEvent e){
		        		settings.SaveSettings();//this wil save all settings
		        		frame.dispose();
		        	}});
		        pnltools.addpanelitem("connectionpanel","cancel",new JButton(),new ActionListener(){
		        	public void actionPerformed (ActionEvent e){
		        		settings.LoadSettings();//this wil reload all settings
		        		frame.dispose();
		        	}});
		        frame.add(pnltools.getpanel("connection"), BorderLayout.SOUTH);
		        JPanel editor = settings.getEditor();
		        frame.add(editor,BorderLayout.NORTH);
		        frame.setVisible(true);
		        frame.pack();
			}
		};
		savesettings = new ActionListener() {
			public void actionPerformed(ActionEvent evt) {settings.SaveSettings();		log(Level.WARNING, "settings saved.");}
		};
		options =new ActionListener(){
			public void actionPerformed(ActionEvent evt) {
				settings.SaveSettings();//this that all settings from the prog are saved
		        final JFrame frame = new JFrame();
		        frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		        MYpanel pnltools = new MYpanel("CVlieven");
		        pnltools.addpanelitem("editorpanel","ok",new JButton(),new ActionListener(){
		        	public void actionPerformed (ActionEvent e){
		        		settings.SaveSettings();//this wil save all settings
		        		frame.dispose();
		        	}});
		        pnltools.addpanelitem("editorpanel","cancel",new JButton(),new ActionListener(){
		        	public void actionPerformed (ActionEvent e){
		        		settings.LoadSettings();//this wil reload all settings
		        		frame.dispose();
		        	}});
		        frame.add(pnltools.getpanel("editorpanel"), BorderLayout.SOUTH);
		        JPanel editor = settings.getEditor();
		        frame.add(editor,BorderLayout.NORTH);
		        frame.setVisible(true);
		        frame.pack();
			}
		};
		Close_Options = new WindowAdapter() {//sluitmessage
			@Override
			public void windowClosing(WindowEvent e){
			   int answer = JOptionPane.showConfirmDialog(null, "save settings ?", "sluiten", JOptionPane.YES_NO_OPTION);
			   if (answer == JOptionPane.YES_OPTION) {
				   savesettings.actionPerformed(null);
			   }else if (answer == JOptionPane.NO_OPTION){
			       return;
			   }
			 }
	        };
	    about = new ActionListener(){
	    	public void actionPerformed(ActionEvent evt) {
	    		new  About();
			}
	    };
	}
	protected void finalize() throws Throwable{
		super.finalize();
	}
}
 
Alvast bedankt voor je reactie al snap ik het project niet zo heel goed.
De bedoeling van ons project is een simpel programma te maken met die verschillende eisen zoals het voorbeeld van de bankrekening

een bankrekening maken geld kunnen op af halen
nieuwe bankrekeningen kunnen aanmaken geld overmaken van 1 naar ander bankrekening
log kunnen bijhouden
en in verschillende tabs kunnen werken
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan