Zum Inhalt springen

Morbid_Soul

Mitglieder
  • Gesamte Inhalte

    82
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Morbid_Soul

  1. Hallo, erstmal sry für den Threadtitel... Ich weiß nicht wie ich das prägnant ausdrücken kann. Ich schreibe momentan eine Anwendung. Das ganze soll mal ein Editor werden, um 2D Spiele erstellen zu können. Innerhalb der Anwendung möchte ich nun z.B. mehrere Projekte anlegen und verwalten können. Im Prinzip soll das ganze wie z.B. im JBuilder funktionieren. Wenn man innerhalb der Anwendung nun ein neues Projekt erstellt oder zwischen verschiedenen Projekten hin- und herschaltet müssen ja verschiedenste Bereiche in der Anwendung aktualisiert werden etc. Dazu sind mir 2 Möglichkeiten eigefallen. 1) Mit Referenzen und Methoden alles irgendwie durchschleifen und die relevanten Objekte und Bereiche anpassen. 2) Mit selbstgeschriebenen Listenern arbeiten. Listenerklassen können erstellt und zu einem Projektmanager geadded werden. Der Projektmanager feuert dann bei Ändernungen einen relevanten Event an die relevante ListenerMethode. Die ausimplementierten Listenerklassen machen dann die relevante Arbeit. Ich habe mich für die 2 Methode entschieden, da ich sie übersichtlicher finde. Könnt ihr mir vielleicht noch Alternativen oder Designmuster nennen die sich auch mit diesem Thema befassen? Ich hoffe ich konnte mich verständlich machen. Danke und Grüße, Peter
  2. Hi, es macht nichts, dass der Renderer nur für bestimmte Spalten o.Ä. registriert wird. Du kannst die Klasse DefaultTableCellRenderer und in ihr die Methode public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) überschreiben und in der implementierung dafür sorgen, dass die gesamte Zeile farbig wird. Habe ich auch so gemacht. Gruß, Peter
  3. Hi, eine Möglich ist es nicht den Hintergrund der Tabelle, sondern den des ScrollPane zu ändern. Zumindest für den sichtbaren Bereich... Gruß Peter
  4. Zu deiner ersten Frage: Ja, die Möglichkeit gibt es. Google mal nach JEditorpane und Hyperlink... Gruß, Peter
  5. Hi, ist ein Schuß ins Blaue... Ich glaube im Tree wird das angezeigt, was die "toString()"-Methode liefert. Diese Methode greift auf die "toString()"-Methode des UserObjects zuürck, also des Objects, welches als Referenz an den TreeNode übergeben wurde. Demnach könnte die Änderung an der Anzeige funktionieren, wenn Du das UserObject so manipulierst, dass die "toString()"-Methode etwas anderes anzeigt. Ist aber geraten, sry... Gruß, Peter
  6. Hi, >>Wie kann ich jetzt von der innerclass auf eine Methode dieses Interfaces zugreiffen? Du willst bestimmt auf die "Outerclass" zugreifen? Dass erreichst du, in dem du der innerclass eine Referenz der Outerclass mit übergibst. >>bzw wie bekomme ich eine expliziete Referenz der Outerclass von der Innerclass? Sry, den Satz habe ich nicht verstanden. :/ Ich habe aber das Gefühl, dass bei Dir das Desing vielleicht nicht stimmt. Was versuchst Du in der Klasse abzubilden? Weißt Du wozu Interfaces da sind? Musst Du überhaupt mit inneren Klassen arbeiten? Gruß, Peter [edit] Formatierung [/edit]
  7. Hi, sry aber ich kann mir leider noch immer kein Bild von dem Problem machen... Vielleicht kannst Du eine Klasse bauen und ihr die Suchparameter übergeben. Anhand der Suchparameter kann diese Klasse vielleicht versuchen die Suche zu deligieren. Da kann man bestimmt auch was mit abstrakten Methoden machen oder etwas in der Art. Gruß
  8. Hi, wie suchst Du denn? Durchsuchst Du eine SQL-Datenbank? Vielleicht brauchst Du auch nicht unbedingt für jede Datenbank/Tabelle (?) eine eigene Klasse. Mir scheint es auch, dass die ganze Sache nicht so kompliziert sein muss. Gruß
  9. Hi, wie Du schon bemerkt hast, tut der Konstruktor von JTextfield nicht das was du erwartet hast. Soweit ich weiß, dient der Konstruktor nur dazu, dass das Textfeld seine gewünschte Größe innerhalb eines GridLayouts kennt. Wie Du es anzeigen lässt, dass es nur die Breite für 6 Zeichen anzeigt hängt vom Layout das du verwendest ab. (Breite wäre nur bei Schriften wie Courier fix?) Die Klasse JTextFieldLimit diu Du da verwendest sollte allerdings funktionieren. Habe sie jetzt nicht kopiert und ausprobiert, nehme aber mal an, dass sie zuverlässig funktioniert. Bist Du dir sicher, dass Du sie fehlerfrei in Deinen Source übernommen hast? Eigentlich sollte kein Text gelöscht werden. Das das textfeld keinen Text anzeigt, könnte daran liegen, dass der Text der eingefügt werden soll länger als 6 Zeichen ist. Wie befüllst Du das Textfeld? Nur durch manuelle Eingaben? Wird das mit Werten aus einer DB oder einer File gefüllt? Hängen da vielleicht Leerzeichen dran oder so? (Eventuell vorher String.trim() verwenden o.ä.) Gruß, Peter
  10. Hi! Mh, klingt komisch was Du da vor hast, aber weiß ja auch nicht was da gemacht werden soll. Du kannst bestimmt ein PopUpMenu für das Label registrieren und darin den Text auslesen.... Oder einfach einen MouseListener auf das Label setzen und bei nem Rechtsklick den Wert in eine Variable speichern... Ist bestimmt nicht die Stylolösung, sollte aber funktionieren. Gruß, Peter [edit] http://www.dpunkt.de/java/Programmieren_mit_Java/Oberflaechenprogrammierung/24.html [/edit]
  11. Hi, Du schreibst, dass das Textfeld gesperrt wird. Demnach könntest Du doch vielleicht den Status des Textfeldes (isEnabled oder isEditable) abfragen? Gruß, Peter
  12. Hi, bist Du dir sicher, dass es nur mit einer JList geht und vielleicht nicht auch mit einer JTable z.B.? Ansonsten hast du auch die Möglichkeit die Bestellpositionen z.B. auf einem Dialog, oder einem Panel/einer selbsgeschriebenen Komponente zu erfassen und nach dem Speichern die erzeugte Bestellposition einfach in eine Liste einzufügen. Das es also in der JList selber keine editierbare Zeile gibt... Gruß, Peter
  13. Hi, mit welchem DBMS arbeitest du? Bei SQL-Server zumindest, kannst du über die SQL-Variable (heißt das so?) @@identity die zuletzt erzeugte ID ermitteln. Ich weiß allerdings nicht, ob das auch in anderen DBMS geht. Gruß, Peter
  14. Morbid_Soul

    BATCH-Dateien

    Moin, bist du sicher das er den Batch nicht ausführt? Verwende ansonsten mal die Methode waitFor() vom Process-Objekt, um auf das Batchende zu warten... Gruß, Peter
  15. Hi, kannst du die Methode setBackground() verwenden, die das JMenuItem von JComponent erbt? Gruß, Peter
  16. Mh... das da PHP-Code steht liegt am Forum.... Das ist schon Java-Code.....
  17. Mh... Wieso willst Du das in einer JTable anzeigen? Sollen die Zeichenkette noch nach irgendetwas getrennt werden, sprich brauchts du mehrere Spalten oder willst du nur jeweils eine Spalte mit der Zeichenkette drin haben? Auf jeden Fall kannst Du dir mal die Konstruktoren vom JTable oder vom DefaultTableModel angucken.... Gruß, Peter
  18. Moin, die Information das das mit dem Interface "FilenameFilter" geht hast du ja schon. Guck Dir mal die Methode an, die im Interface definiert ist. Die musst Du implementieren. Du erhälst den Namen der Datei und kannst, wenn es eine dnl-Datei ist entsprechend true oder false zurückgeben. Der File-Methode list() kannst Du dann glaube ich diesen Filter übergeben. (Also z.B. eine Klasse die den Filter implementiert) Du kannst auch die Klasse, in der Du diese Operation machst, das Interface implementieren lassen und dann in der List-Methode "this" angeben. (Finden wahrscheinlich einige Leute unsauber ) Weißt Du ungefähr was ich meine? Habe mich nen bischen verkorkst ausgedrückt... Gruß, Peter
  19. Die Klasse Calendar ist abstrakt. Du kannst daher keine neue Instanzen der Klasse mit dem new-Operator erzeugen. So kannst Du dir ein Calendar-Objekt holen: java.util.Calendar datum = Calendar.getInstance(); Das ist ein Beispiel für einen Stacktrace: java.lang.NullPointerException at de.xxx.xxx.xxx.xxx.xxx.HobbiesWaehlenDialog.bOk_actionPerformed(HobbiesWaehlenDialog.java:144) at de.xxx.xxx.xxx.xxx.xxx.HobbiesWaehlenDialog_bOk_actionAdapter.actionPerformed(HobbiesWaehlenDialog.java:181) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245).......
  20. Mh, vielleicht musst Du die Klasse noch importieren? import java.util.Calendar; Ein import java.util.Date; müsste da ja schon stehen... Wenn in der Klasse aber ein import java.util.*; steht, weiß ich jetzt auf die schnelle auch nichts. Das würde nämlich bedeuten, dass er bereits alle Klassen aus dem genannten Package importiert hat (inkl. Calendar). Gruß, Peter
  21. Morbid_Soul

    Applet Problem

    Moin! Na ja, das solange die Anwendung geladen wird halt ein Bild angezeigt wird. Das lässt sich relativ einfach machen. Einfach bei Goggle nach "java splash screen" suchen. Dann kommen schon ein paar Beispiele. Hat den Nachteil, dass wiederum ein Bild übertragen werden muss, macht den Kohl dann aber auch nicht fett? ProgressBar wäre auch ne Möglichkeit, kann ich aber jetzt spontan nichts zu sagen. Und andere Wege Code zu sparen, fallen mir jetzt auch nicht ein. Gruß, Peter
  22. Morbid_Soul

    Applet Problem

    Moin! Wäre so ne art Splashscreen ne Lösung? Gruß, Peter
  23. Morbid_Soul

    diagramm erstellen

    Moin, vielleicht hilft Dir auch http://www.jfree.org/jfreechart/ weiter. Ich habe damit allerdings selber auch noch nicht gearbeitet. Gruß, Peter
  24. Hallo, ich habe folgendes Problem: Ich habe einen Dialog. Dieser Dialog hat einen "OK"-Button. Über Input-/ActionMap habe ich dem Button eine Action zugewiesen, die beim Drücken der Taste "Enter" ausgeführt wird. Weiterhin habe ich verschiedene Textfelder im Dialog. Ein Feld zeigt ein JPopupMenu an, um Werte vorzugeben. Die Erstellung des Menüs und die Anzeige, geschieht in einem KeyListener, der auf dieses Feld horcht. Wenn ich nun einen Menüpunkt mit Enter auswähle, wird ebenfalls die Action des "OK"-Buttons ausgelöst (Was mich natürlich auch nun nicht weiter wundert). Rufe ich aber nun am Ende meiner Implementierung von keyReleased die consume() Methode des KeyEvents auf, wird trotzdem die Action des Buttons ausgelöst. Nun meine Frage: Wie kann ich verhindern, dass das Wählen eines Menüpunkter per Enter auch die Action des Buttons auslöst? Danke und Gruß, Peter
  25. Moin, die reverse() Methode von StringBuffer könnte auch ganz interessant sein. Gruß, Peter

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...