kostenloser Webspace werbefrei: lima-city


Eingabefeld an festgesetzter Position

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    chaosboy79

    chaosboy79 hat kostenlosen Webspace.

    Ich fange am besten erstmal mit nem Beispielcode an:
    --------------------------------
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.Text;
    import org.eclipse.swt.graphics.Font;

    public class rootmodules {

    /**
    * @param args
    */
    public static void main(String[] args)
    {
    // Hauptfenster erstellen
    Display rootwindow = new Display();
    // Rootfunktionen
    Shell rootshell = new Shell(rootwindow);
    rootshell.setSize(800, 600);
    rootshell.setText("Nightangelz-Community - Chat");
    // Hintergrund auf schwarz setzen
    rootshell.setBackground(rootwindow.getSystemColor(SWT.COLOR_BLACK));

    // Initialisierungstext erstellen
    Font font_ArialBI_12 = new Font(rootwindow,"Arial",12,SWT.BOLD | SWT.ITALIC);

    final Text startuptext = new Text(rootshell, SWT.BORDER);
    startuptext.setBounds(0,547,800,20);
    startuptext.setBackground(rootwindow.getSystemColor(SWT.COLOR_BLUE));
    startuptext.setForeground(rootwindow.getSystemColor(SWT.COLOR_WHITE));
    startuptext.setFont(font_ArialBI_12);
    startuptext.setText("Dies ist ein Eingabefeld.");

    rootshell.open();
    while (!rootshell.isDisposed())
    {
    if (!rootwindow.readAndDispatch()) rootwindow.sleep();
    }
    rootwindow.dispose();
    }
    }
    ---------------------------------
    Wie man hir sieht, nutze ich Eclipse und zeichne ein Eingabefeld in ein Fenster, was 800*600 groß ist. Wenn ich das Fenster maximiere, bleibt das Feld auch an seiner Position.
    Da ich noch ein blutiger Java-Anfänger bin brauche ich Hilfe.
    Der Sinn des ganzen besteht darin, das ich ein Eingabefeld "immer" an der Unterkante eines Fensters habe (wie bei nem Chat eben, oder von der Position vergleichbar wie eine Statusleiste). Ich kam mal auf die Idee, es über java.awt.Frames zu bauen, aber wenn ich so die Seiten im Web durchsuche, endet das dann wieder als OleContainer (Win32). Zudem wüsste ich auch gar nicht, wie ich die Maße unterteilen müsste. Hat von euch jemand Ahnung, wie man es Lösen könnte? Nach Möglichkeit wäre ich dankbar, direkt noch nen guten Link zu diesem Thema beizulegen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. p**i

    Moin,

    Leider habe ich keine Ahnung von den SWT-Komponenten,
    aber ich denke, da gibt es ebenso Layouts wie auch bei Swing.
    In Swing wäre es das sogenannte BorderLayout, mit dem Du eine Statusleiste realisieren kannst.

    Mehr kann ich Dir an diesem frühen Morgen leider noch nicht erzählen.

    Gruss,
    Puni
  4. Autor dieses Themas

    chaosboy79

    chaosboy79 hat kostenlosen Webspace.

    Also wenn ich unter Google bei Swing mal nachschaue, kommt entweder irgendnen Flashzeugs raus oder ich stoße auf SwingSWT sogar. Ich hab mal versucht, SwingSWT zu includen (ich hoffe, das ist der richtige Begriff... zumindest packt man so Dinge unter PHP ins Projekt), aber der erkennt das ganze nicht als Javaquelle an, obwohl im Archiv massig solcher Dateien sind. Vielleicht hab ich da auch was falsches gezogen.
    SWT ansich ist eine "Widget"-Komponente, die in Eclipse dafür sorgt, das man eben richtige Java-Anwendungsfenster bauen kann sowie Elemente wie Textboxen, Buttons, Dropdowns und den weiteren Typischen Kram, den man eben zur Benutzereingabe braucht (also visuelles Zeugs).
    Man findet dadrin eben Menüs (also Nevigationen) Toolbars, Statusleisten, Progressleisten usw., aber das, was ich brauche, hat er nicht (vielleicht bekommt man es ja mit irgendnem Trick hin).
    Mein Ziel an dem ganzen Projekt hier ist ein Chatapplet wie z.B. beim IRC.
    Letztendlich soll es so ausgebaut sein, das man 3 Bereiche im Hauptfenster hat.
    Der untere Bereich ist eben die Eingabeleiste, der Bereich oben-links ist die Ansicht im Chatchannel und oben rechts die Liste der anderen Member im Channel.
    Bei Doppelklick auf einen Membernamen soll sich dann auch ein weiteres Fenster öffnen, wo man eben dann auch 1:1 chatten kann (wer z.B. Knuddelz oder IRC-Applets kennt, weiß wie ich das meine).
    Ich habe etwas gefunden, was sich AWT nennt, aber das sind massenweise Anleitungen. Downloads kann man da irgendwie vergessen (stattdessen komme ich auf der Sun-Seite raus, und die wollen mir direkt nen Programm zu Wucherpreisen anbieten).
  5. p**i

    Moin,

    also erstmal will ich Dich fragen, warum Du als Neuling in Java gleich auf SWT aus bist?
    Swing bietet vorerst alles für den Einstieg und ist gleich im JDK mit integriert.
    Zu Swing kann ich Dir immerhin auch Fragen beantworten, von SWT verstehe ich ehrlich gesagt gar nichts.
    Auch wenn es da nicht viel zu verstehen gibt, ausser dass es andere APIs sind *g*

    Für die Oberflächenprogrammierung reicht Swing erstmal völlig, nutze lieber das,
    bevor Du Dich mit SWT befasst und nicht weiterkommst.
    Immerhin wäre es ein sehr guter Einstieg für Dich, in der GUI-Programmierung auf einfache Art und Weise einzusteigen.

    Gruss,
    Puni
  6. Autor dieses Themas

    chaosboy79

    chaosboy79 hat kostenlosen Webspace.

    Ich habe SWT genommen, da ich als Neuling absolut nichts mit solchen Begriffen anfangen konnte. Habe mir gestern Eclipse runtergeladen, installiert und dachte mir mal, das ich diese "Hello World" Beispiele durchgehe.
    Das erste Tutorial war ne einfache Compilerausgabe.
    Beim zweiten kam dann die Fensterausgabe (dazu musste ich laut Tutorial SWI erst runterladen, was ich dann auch tat).
    Darauf hab ich dann zum Testen angefangen, Buttons zu bauen, welche auch ziemlich einfach waren. Und irgendwie fand ich dann zu Eingabeboxen.
    Wie gesagt, mein Ziel ist es, irgendwann in ein paar Monaten spätestens einen Chat (serverseitig cgi, clientseitig java-applet) zu bauen.
    Ich werd mich gleichmal mehr über Swish erkundigen. Du sagtest ja bereits schon etwas darüber (und das hört sich bisher ziemlich interessant an).

    Beitrag geändert: 30.10.2006 12:29:32 von chaosboy79
  7. p**i

    Moin nochmals,

    also ich empfehle Dir ersteinmal folgendes Online-Buch, um einen kleinen Einstieg zu bekommen:

    http://www.galileocomputing.de/openbook/javainsel5/index.htm

    Damit habe ich begonnen und ich nutze es heute noch.
    Eine weitere hilfreiche Lektüre:

    http://www.javabuch.de

    Mal zum Grundsachverstand:

    Swing ist ein Paket von Sun, mit dem sich Oberflächen erstellen lassen - es heisst Swing und nicht Swish :biggrin:
    Dieses Paket umfasst so ziemlich alles was Du benötigst (Fenster/Textboxen/Textareale/Listen/Tabellen usw.) UND es wird von Sun mitgeliefert.

    AWT ist das sogenannte Advanced Window Toolkit,
    was aber heute kaum noch genutzt wird, weil es veraltet ist.
    Der Nachfolger von AWT heisst Swing.

    Diesbezüglich kann man Dir hier sicher mehr Fragen beantworten,
    als wenn Du mit einer externen Bibliothek wie SWT arbeitest :)

    Gruss,
    Puni
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!