Thema: [Java] Popup

  1. #1
    U-Labs Plus-Mitglied

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard [Java] Popup

    /**
    *
    * @author Flav
    */
    public class Popup {
    private String title, subtitle, message;
    private int width, height;
    private String background;
    private PacketWriter packet;

    public Popup(String title, String subtitle, String message, int width, int height) {
    this(title, subtitle, message, width, height, "pics/cloudsblue.gif");
    }

    public Popup(String title, String subtitle, String message, int width, int height, String background) {
    this.title = title;
    this.subtitle = subtitle;
    this.message = message;
    this.width = width;
    this.height = height;
    this.background = background;
    }

    private void addSize(int size) {
    packet.write(size + 'A');
    }

    private void addString(String str) {
    packet.writeString(str);
    packet.write(0xF5);
    }

    private void addForeground(int[] color) {
    packet.write('f');

    for (int c : color) {
    packet.write(c);
    }
    }

    private void addBackground(int[] color) {
    packet.write('h');

    for (int c : color) {
    packet.write(c);
    }
    }

    private void addFontStyle(char weight, int size) {
    if (weight != 'p') {
    packet.write(weight);
    }

    packet.write('g');
    addSize(size);
    }

    private void addPanel(char layout) {
    packet.write('p');
    packet.write(layout);
    }

    private void addPanelSize(int width, int height) {
    packet.write('s');
    packet.writeShort(width);
    packet.writeShort(height);
    }

    private void addBackgroundImage(String image, int alignment) {
    packet.write('i');
    addString(image);
    packet.writeShort(alignment);
    }

    public String toString() {
    packet = new PacketWriter();
    packet.writeString("k");
    packet.write(0x00);
    addString(title);
    addForeground(new int[] { 0x00, 0x00, 0x00 });
    addBackground(new int[] { 0xBE, 0xBC, 0xFB });
    packet.write(0xE3);

    packet.write('N');
    packet.write('l');
    addString(" ");
    addFontStyle('p', 5);
    packet.write(0xE3);

    packet.write('W');
    packet.write('l');
    addString(" ");
    addFontStyle('p', 5);
    packet.write(0xE3);

    packet.write('E');
    packet.write('l');
    addString(" ");
    addFontStyle('p', 5);
    packet.write(0xE3);

    packet.write('C');
    addPanel('B');

    if (subtitle != null) {
    packet.write('N');
    addPanel('B');

    packet.write('C');
    packet.write('l');
    addString(subtitle);
    addFontStyle('b', 16);
    addBackground(new int[] { 0xE5, 0xE5, 0xFF });
    packet.write(0xE3);

    packet.write('S');
    packet.write('l');
    addString(" ");
    addFontStyle('p', 5);
    packet.write(0xE3);

    packet.write(0xE3);
    }

    if (message != null) {
    packet.write('C');
    packet.write('c');
    addString(message);
    addPanelSize(width, height);
    addBackground(new int[] { 0xBE, 0xBC, 0xFB });

    if (background != null) {
    addBackgroundImage(background, 17);
    }

    packet.write(0xE3);
    }

    packet.write(0xE3);

    packet.write('S');
    addPanel('F');

    packet.write('b');
    addString(" OK ");
    addFontStyle('p', 16);
    packet.write('d');
    addBackground(new int[] { 0xBE, 0xBC, 0xFB });
    packet.write(0xE3);

    packet.write(0xE3);

    packet.write(0xE3);
    return packet.toString();
    }
    }


    Dies ist eine sehr vereinfachte Version, ich hab das Paket schon vor langer Zeit inkl. aller Komponenten analysiert. Für Anfänger dürfte das aber uninteressant sein, deshalb diese einfache Version. Fortgeschrittene können ja mal versuchen die Komponenten selbst zu analysieren, oder es aus dem Banana-Chat extrahieren.

    Beispiel

    groupChat.receive(new Popup("Beispiel", "Popup", "Da ist ein Beispiel für ein Popup.", 400, 300).toString());
    


    Edit: Wenn ich Zeit finde mich da nochmal ranzusetzen werde ich das Ganze auch noch kommentieren, jedes einzelne Byte hat natürlich eine Bedeutung.
    Geändert von Flav (21.04.2012 um 14:14 Uhr)

  2. The Following User Says Thank You to Flav For This Useful Post:

    DeKaDeNz (02.02.2012)

  3. #2
    Mitglied
    Avatar von Gnome
    Registriert seit
    14.04.2012
    Beiträge
    75
    Thanked 34 Times in 24 Posts

    Standard AW: [Java] Popup

    public Popup(String title, String subtitle, String message, int width, int height, String backgroundImage) {
    this.title = title;
    this.subtitle = subtitle;
    this.message = message;
    this.width = width;
    this.height = height;
    this.background = background;
    }


    Solltest du anpassen, das this.background = background; ist ein assigning to itsself
    Müsste this.background = backgroundImage; sein

  4. #3
    U-Labs Routinier
    Avatar von Mentos
    Registriert seit
    18.11.2011
    Beiträge
    451
    Thanked 497 Times in 239 Posts

    Standard AW: [Java] Popup

    Dann kann man auch gleich background = backgroundImage; schreiben^^
    „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“
    - Albus Dumbledore, Harry Potter 2


    /guestchat registerGuest

  5. #4
    Mitglied
    Avatar von Gnome
    Registriert seit
    14.04.2012
    Beiträge
    75
    Thanked 34 Times in 24 Posts

    Standard AW: [Java] Popup

    Wobei this.background = backgroundImage; trotzdem besser wäre. Stilsicherer

  6. #5
    U-Labs Plus-Mitglied

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard AW: [Java] Popup

    Da hab ich mich vertippt, der Parameter sollte background und nicht backgroundImage heißen.

  7. #6
    Mitglied
    Avatar von Gnome
    Registriert seit
    14.04.2012
    Beiträge
    75
    Thanked 34 Times in 24 Posts

    Standard AW: [Java] Popup

    Naja immerhin berichtigt
    Wie man das denn am Ende macht ist ja dann auch egal.

  8. #7
    U-Labs Plus-Mitglied
    Avatar von rVs14
    Registriert seit
    18.11.2011
    Beiträge
    985
    Thanked 513 Times in 338 Posts

    Standard AW: [Java] Popup

    Wie kann man das verwenden? Ich hatte vor mich ein wenig mit Java zu beschäftigen aber wie verwende ich das, bzw. wo ?

  9. #8
    U-Hacks Routinier
    Avatar von uncopyable
    Registriert seit
    19.11.2011
    Beiträge
    282
    Thanked 234 Times in 120 Posts

    Standard AW: [Java] Popup

    Kannst du z.B im KRClient verwenden.


    while( behappy() ) { code(); }

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 02.12.2013, 23:41
  2. [JS] Knuddels Popup-Parser
    Von Bubble Gum im Forum Webentwicklung
    Antworten: 3
    Letzter Beitrag: 31.10.2013, 16:44
  3. Popup Hindergrundbild
    Von uncopyable im Forum Knuddels Programmierung
    Antworten: 6
    Letzter Beitrag: 17.12.2011, 15:14
  4. Schützling annehmen - Popup
    Von Devon im Forum Knuddels Allgemein
    Antworten: 4
    Letzter Beitrag: 12.12.2011, 21:51
  5. Popup Jugendschutztest 1 und 2
    Von AFU im Forum Knuddels Allgemein
    Antworten: 0
    Letzter Beitrag: 11.12.2011, 13:14
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191