IT Projekt mit GUI

rfinal

Neuling
Thread Starter
Mitglied seit
30.08.2009
Beiträge
504
Hallo alle zusammen,
wir als Gruppe sollen ein Projekt auf die Beine stellen das folgendes Eigenschaften aufweißt:
1) Es sollen 4 Sortieralgorithmen implementiert werden.
2) Es soll eine grafische Benutzeroberfläche geben.
3) Anhand der Zeit soll die Komplexität des Algorithmuses angezeigt.
4) Natürlich sollen per Hand Zahlen in die Zahlenfelder übernommen/übergeben werden.



Das folgende Mockup zeigt ungefähr, wie wir uns dies vorgestellt haben.
Das einzige Feature, das wir anders gestalten wollen ist, dass die Anzahl der möglichen Zahlenfelder auf Max. 8 beschränkt ist, somit gibt es schon
anfangs 8 felder und das + (für Zahlenfeld hinzufügen) und - (für Zahlenfeld entfernen) soll wegfallen.

Meine Frage ist nun hab ihr vielleicht Erfahrung in diesem Gebiet?
Wäre dankbar für Tipps und mögliche Ratschläge zur Implementierung / GUI geben.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Du solltest uns auch die angedachte Programmiersprache verraten.

Da es sich bei diesem Projekt um eine (eure) Eigenleistung handelt, solltet ihr auch selbst aktiv werden. ;)

Konkrete Fragen zu bestimmten Problemen sind natürlich willkommen.
 
Die Eingabe von Zahlen in die Felder ist Mist bzw. zu umständlich. Ich nehme an, pro Feld eine Zahl? Wie wärs mit einem Feld und Trennung der Zahlen durch Token, z.B. Leerzeichen o.ä.?
Wenn ihr nur 8 Zahlen zulasst, könnt ihr die Analyse der Laufzeitkomplexität vergessen.
 
Ja das mit der Komplexität ist in der Tat nicht durchführbar bei der Samplesize.
Würde dann eher zu einem großen Array tendieren (ca 500 zahlen) das mit Zufallszahlen gefüllt werden soll.

@pes-forever
Danke für den Tip wollte alles mit COPY and PASTE lösen. :confused:
 
Bitte ein paar Informationen

Bestehen bereits Vorkenntnisse in Programmierung / Scripting?
Welche Sprache und welche Entwicklungswerkzeuge sollen zum Einsatz kommen?
Je nach Sprache (und der für diese verfügbaren Entwicklungswerkzeuge) kann auch das Erstellen einer einfachen GUI bereits recht anspruchsvoll ausfallen.
Liegt der Schwerpunkt in der möglichst optimalen Implementierung der einzelnen Sortier-Algorithmen?

Mit diesen Informationen solltet ihr bei speziellen Fragen zur Umsetzung Hilfe finden.
 
Also für mich hört sich das ganz nach einer aufgabe an die im laufe eines studiums geleistet werden soll (bei mir war das ca Informatik 2) und wir mussten sowas mit java umsetzen.

Die Gui in dem Fall ist sehr einfach zu schreiben jedoch solltet ihr sie definitiv selber mal geschrieben haben und nicht von anfang an eines der eclipse plugins verwenden welches euch viel arbeit abnimmt. wenn du da fragen hast kannst du mich gerne per PN anhauen solange es hauptsächlich um Java geht denn da bin ich grad gut eingearbeitet ;)

Kurz mal stupide ganz einfach in Java umgesetzt. Also die simpelste Lösung einer Java GUI:

Beispiel_Java.JPG

Generell solltest du erstmal selber versuchen so etwas auf die beine zu stellen. Ich helfe natürlich gerne wenn du an gewissen stellen nciht weiter kommst oder probleme hast deine ergebnisse über die gui auslesenanzeigen zu lassen.
Da ich die aufgabe kenne kann ich dir schon sagen das die GUI das kleinste Problem ist udn es eher um die SortierAlgos geht.
 
Zuletzt bearbeitet:
Mit C# wäre das mit der dynamischen Anzahl von Feldern kein Problem ! Da kannst du einfach eine Liste von Eingabefeldern erstellen, und die auch nach und nach durchlaufen. Die Werte kannst du dann sortieren, wie du willst. Aber wenn ich schon so´n Humbug wie BubbleSort lese, soll es bestimmt in Java gelöst werden ! Stimmts ?
 
Was ist denn an einem Sortieralogirthmus bitte humbug und was hat das mit java zu tun? Das ganze kannst du auch mit vba oder sonst was umsetzen.

Die Aufgabe ist definitiv eine Informatikstudium Aufgabe, allerdings muss ich ehrlich gestehen, dass das für 4 Leute doch schon recht wenig Stoff ist. Die Vermutung mit java liegt zwar nahe, aber letztendlich ist es egal, ob man es in Sprache x,y oder z macht. Hier geht es um das Verständnis der Alogirthmen, zu verstehen wo die Unterschiede liegen und die praktische Anwendung von kleineren Programmieraufgaben, sowie eine winzige Einführung in Projektarbeit mit mehreren Personen.

Als Tipp für den TE: mir haben damals youtube videos zu den Sortieralgorithmen geholfen (gibt ja einige, die auch sehr anschaulich "verfilmt" worden sind).
 
Zuletzt bearbeitet:
Da muss ich Reaver zustimmen. für mehrere Leute definitiv etwa swenig stoff da musste ich alleine schon wesentlich mehr in normalen übungen programmieren.
Videos helfen sehr aber auch diverse andere quellen die man leicht findet.

Bubblesort gehört einfach zu den klassikern unter den Sortieralgos. Warum dieser dadurch totaler quatsch sein sollte weiß ich auch nicht. Es geht dabei nicht um optimale effizienz sondern um das verständnis der algos und deren ansätze. Außerdem hat der Bubblesort auch vorteile denn bei stark vorsortierten oder sortierten listen in denen nur wenige elemte hinzukommen ist er effizienter als die meisten anderen da diese die listen immer komplett durchlaufen.
 
Die Gruppe besteht aus 2 Leuten und wir haben dafür 1 Monat Zeit die Sprache sollte Java sein und es ist die Hälfte der Studienleistung eines Faches.
Hoffe konnte die ausstehenden Fragen klären, wir brauchen noch die GUI die Algorithmen stehen so weit.

Algorithmen arbeiten soweit alle wie gewünscht die nächste Herausforderung wäre die GUI.
Da ich relativ wenig Ahnung habe, hoffe ihr könnt mir Starthilfe geben.
Hier Teile des Codes und meine zusammen gebastelte GUI.
Ich habe momentan 3 Klassen 1xMain 1xSort(In der sich die Algorithmen befinden) 1xGUI

Hier erstmal Ausschnitte von Sort (Es gib mehr Algorithmen aber das sollte für Bubblesort reichen)
Code:
	int[] unorded;
	int index=0;
	int min;
	int size;


	//Array im Konstruktor erzeugen
	Sort(){
		unorded = new int[2000];
		
		for(int i=0; i<unorded.length; i++)
			unorded[i] = (int)(Math.random()*unorded.length);
	}



	//Bubblesort
	void bubblesort(){
		size = unorded.length;
		for(int y=0; y<size; size--){
			for(int x=0; x<size-1; x++){
				if(unorded[x]>unorded[x+1]){
					int puffer = unorded[x];
					unorded[x]=unorded[x+1];
					unorded[x+1]=puffer;
				}
			}
		}
	}

	//Ausgabe Methode
	void output(){
		for(int c:unorded){
			System.out.print(c+" ");
		}
	}

Hier die zusammen gebastelte GUI
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class FirstGUI extends JFrame
{
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JButton button5;
private JPanel panelButton;
private JLabel oben;
private JLabel anzeige;

public FirstGUI()
{
super("Fenster");
setLocation(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout(5,5));

//Buttons erzeugen
button1 = new JButton("Zufalls Array erzeugen");
button2 = new JButton("bubblesort");
button3 = new JButton("selectionsort");
button4 = new JButton("simplesort");
button5 = new JButton("ritkow");

//Panels erzeugen
panelButton = new JPanel(new GridLayout(3,1));
//Auf Panel Buttons packen
panelButton.add(button1);
panelButton.add(button2);
panelButton.add(button3);
panelButton.add(button4);

//Listener für Buttons
addButtonListener(button1);
addButtonListener(button2);
addButtonListener(button3);
addButtonListener(button4);

//Labels erzeugen
oben = new JLabel("Projekt Nirvana");

//Label zentrieren
oben.setHorizontalAlignment(JLabel.CENTER);
anzeige = new JLabel("Array Platz");

//Labels auf Frame packen
getContentPane().add(BorderLayout.NORTH, oben);
getContentPane().add(anzeige);

//Panels auf Frame packen
getContentPane().add(BorderLayout.WEST, panelButton);
pack();
setVisible(true);
}
public static void main(String[] args)
{
FirstGUI g = new FirstGUI();
}
private void addButtonListener(JButton b)
{
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
eingabe(ae.getActionCommand());
}
});
}
private void eingabe(String a)
{
anzeige.setText(a);
}
}

Die konkrete Frage ist wie bekomme ich das Zufalls Array und das sortierte Array (Bubblesort) als methoden in die Buttons übergeben?
Wie bekomme ich die 2000 Werte lesbar angezeigt?
 
Such mal nach ActionListener.
Und für die Werte würde ich mich an der Klasse DefaultTableModel bedienen, das ganze in ein JScrollPane stecken. (zum Anzeigen)

So habe ich mal eine ähnliche Aufgabe gelöst...
 

Ähnliche Themen

Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh