Fenster immer im Vordergrund / jar Archive

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fenster immer im Vordergrund

    Hallo Jungs!

    Seit etwa einem halben Jahr habe ich in der Schule nun Java.
    Ich persönlich habe mir ein Projekt vorgenommen, nämlich einen
    Taschenrechner zu bauen.
    Jede Methode des Rechners ist selbst entworfen, weshalb er auch nicht allzu viel kann.

    Nun habe ich ihm einen About und einen Info-Button gegeben, der jeweils ein JLabel öffnet mit den Infos.
    Nun schaffe ich es leider nicht, jedes der beiden Fenster so einzustellen, dass wenn es einmal aufgerufen ist man es erst wieder schließen muss, bevor man in dem Hauptprogramm weiter was eingeben kann.

    Ihr müsst euch das so vorstellen, wie wenn ihr in Firefox die Einstellungen startet und dann versucht ne Andresse einzugeben. Da kommt dann so ein "Bum" und ich kann nichts eingeben, da die Einstellungen noch offen sind.
    So will ich das auch mit den Fenstern. Man muss die eben erst schließen, bevor man wieder in den Rechner kann.

    Weiß wer, wie ich das hinbekomme?

    Danke euch vielmals!

    Chad


    Edit: Das Jar-Archiv habe ich nun hinbekommen!!
    Meine Up's: Dethkarz ~125MB , Super Kickers 2006 OST ~20MB
    Blacklist: -
    auch für dich sind keine Bilder in der SIG zugelassen
  • Die Lösung des Problems ...

    Hi,

    ich finde es toll, dass du dich selber mit Java auseinander setzt.
    Hier ein paar Tipps:
    Wenn du einen Informationsdialog oder eine Nachfrage haben möchtest, dann regelt man das am einfachsten über ein "JOptionPane" wie folgt ...

    Quellcode

    1. // "this" sollte das darunter liegende Fenster sein.
    2. JOptionPane.showConfirmDialog(this, "Deine Nachricht");


    Wenn du einen 'intelligenten' Taschenrechner schreiben möchtest, dann nimm ein Textfeld und setze ein modifiziertes "PlainDocument". Damit kannst du schon die Eingabe verifizieren. Wenn dann auf "berechnen" geklickt wird muss der Inhalt des Feldes geparst werden, das ist dann der interessante Teil (schon nicht ohne, wenn man die mathematischen Gesetze beachtet).
    Hier ein Beispiel, wie man so ein PlainDocument schreiben könnte.

    Quellcode

    1. private class CalculatorDocument extends PlainDocument {
    2. /**
    3. * Empty constructor.
    4. */
    5. public CalculatorDocument() {}
    6. /**
    7. * This method is called everytime a character is inserted to the textfield.
    8. */
    9. public void insertString(int _offset, String _str, AttributeSet _a) throws BadLocationException {
    10. // A string with the valid characters.
    11. String validCharacters = "+-*/,0123456789";
    12. for(int i = 0; i < _str.length(); i++) {
    13. if(validCharacters.indexOf(_str.charAt(i)) == -1) {
    14. // Beep at wrong input.
    15. Toolkit.getDefaultToolkit().beep();
    16. break;
    17. }
    18. // The super method needs to be called.
    19. super.insertString(_offset, _str, _a);
    20. }
    21. }
    22. }
    23. /**
    24. * ...
    25. */
    26. public static void main(String[] _args) {
    27. new JTextField().setDocument(new CalculatorDocument());
    28. }
    Alles anzeigen


    Ich weiß nicht wie weit du schon im Java Code drinne bist, daher ein Hinweis: Aus Faulheit habe ich das "CalculatorDocument" als "private class" geschrieben, diese Klasse ist aber eine "inner class". Inner classes sind meines Erachtens nach nur in sehr seltenen Fällen sinnvoll. Z.B. dann diese inner class so individuell ist, dass sie in keiner anderen verwenden werden kann.

    Wenn du mehr Infos brauchst, dann schreibe mir ruhig eine PM.

    Gruß,
    unknown