ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
520
520
EMPFEHLEN
-
Hallo Freunde der Natur,
und zwar hab ich folgendes Problem:
Ich hab ein Bild als JLabel und darauch ist ein JSrollPane mit einem JTextArea. Außerdem ist ein Button dabei.
Soweit läuft alles, nur kann ich die TextArea nicht sofort bei Start sehen...ich hatte das Problem schonmal mit meinen Buttons. Da habe ich lediglich folgendes geändert:
Code :1 2 3 4 5 6 7
jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(getBtSuchen(), 0); jContentPane.add(getJScroll(), 0); jContentPane.add(lbBild, null); jContentPane.add(lbExit, 0);
Statt "null" schreib ich lediglich "0" , um mein Button sofort anzuzeigen.
Ich hab das gleiche auch mit meinem JScrollPane gemacht, nur da funktioniert es nicht.
(Jaa ich weiß, ich könnte mein Hintergrund auch zeichnen, statt ein JLabel, aber ich würde es zunächst gerne so lassen
)
mfg
merTii
-
Achja der Teil mit meiner TextArea sieht wie folgt aus:
Code :1 2 3 4 5 6 7 8
private JScrollPane getJScroll() { if (jScroll == null) { jScroll = new JScrollPane(); jScroll.setBounds(new Rectangle(7, 179, 647, 169)); jScroll.setViewportView(getTaAusgabe()); } return jScroll; }
und
Code :1 2 3 4 5 6 7 8
private JTextArea getTaAusgabe() { if (taAusgabe == null) { taAusgabe = new JTextArea(); } return taAusgabe; }
-
Wieso machst du nicht einfach
wozu das 0 oder null?Code java:1
jContentPane.add(getJScroll());
Siehe: Component.add
Note: If a component has been added to a container that has been displayed, validate must be called on that container to display the new component.Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
mach dir erst mal bewusst was du da anstellst!
bzw was die Methode add(component, index) und add(component, object) überhaupt macht!
du setzt drei Grafik Komponenten an die selbe Position eines Grafik Containers, wobei wir hier nicht von Grafik Position sondern von listen Position sprechen, was bedeutet das du das vorige Objekt überschreibst!
Entweder du setzt die reihen folge selber richtig also
wobei jContentPane.add(lbBild, null); mir nicht sehr geheuer istCode :1 2 3 4 5 6 7
jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(getBtSuchen(), 0); jContentPane.add(getJScroll(), 1); jContentPane.add(lbBild, null); jContentPane.add(lbExit, 2);
oder
oder (und das solltest du eher machen)Code :1 2 3 4 5 6 7
jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(getBtSuchen(), -1); jContentPane.add(getJScroll(), -1); jContentPane.add(lbBild, null); jContentPane.add(lbExit, -1);
Code :1 2 3 4 5 6 7
jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(getBtSuchen()); jContentPane.add(getJScroll()); jContentPane.add(lbBild); jContentPane.add(lbExit);
-
02.03.11 14:53 #5SE Tutorials.de Gastzugang
also nur damit ichs verstanden hab : du willst also mehrere komponenten an der selben stelle übereinander darstellen ?=! ... ich versteh nicht was du genau willst
so wie ich es jetzt verstanden habe willst du also die swing-components über einem bild darstellen ...
dann mach das ganze mit nem JLayeredPane ... zwei JPanel's ... und einige kniffen
zunächst solltest du wissen wie groß das JLayeredPane in seinem Container wird ... lässt sich mit der getSize() methode rausfinden
dann setz du die bounds der beiden JPanels auf diese werte *wobei die ersten beiden parameter 0, 0 sein sollten damit diese relativ zum JLayeredPane auch an dessen 0, 0 koordinaten liegen*
setBounds() kennt auch eine überlagerte variante zu setBounds(Rectangle) ... nämlich die für faule der man die rekt die vier int werte übergibt : setBounds(int, int, int, int) ...
vom "unteren" JPanel überschreibst du die paint methode wie folgt
und addest es in das JLayeredPane als unteres panel mitCode java:
dann erzeugst du ein ganz gewönliches JPanel als oberes ... wendest darauf setOpaque(false) an und addest es als oberes mitCode java:1
JLayeredPane.add(down, new Integer(1));
nun addest du noch auf das obere deine components und fertig ...Code java:1
JLayeredPane.add(up, new Integer(2));
hab ich erst vor zwei tagen selbst im netz gefunden ...
wenn das hier alles käse is was ich erzähle weil du es so nich willst dann vergiss das hier einfach
-
Ich arbeite mit Eclipse und die Befehle werden automatisch geschrieben.
Wenn ich in meiner TextArea zu viele Daten ausgebe, dann brauch ich eben einen ScrollPane.
Aus diesem Grund ist meine TextArea auf dem ScrollPane.
Jetzt funktioniert es bei mir auch, wenn ich wie folgt vorgehe:
Code :1 2 3 4 5 6 7
jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.add(getBtSuchen(),0); jContentPane.add(lbBild,0); jContentPane.add(lbExit,0); jContentPane.add(lbZurück,0); jContentPane.add(getJScrollPane(),0);
-
Was heisst die Befehle werden automatisch geschrieben? Du meinst die vorschlage der Methoden wenn du '.add' schreibst? Da is nix automatisch, da gibt er dir doch auch mehrere Vorschlaege. Oo
Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
Die Befehle mit .add sind alle automatisch erschienen...und zwar sahen sie zu beginn so aus:
Code :1
jContentPane.add(lbBild, null);
die "null" habe ich dann durch "0" ersetzt.
-
Ja, Eclipse zeigt dir alle verfuegbaren Methoden wenn du nen Punkt setzt
, das ist nicht wirklich automatisch, weil die Richtige methode musst du dennoch raussuchen und eventuell auch schauen was genau diese macht.
Da muesste aber auch das .add(Component) zur Verfuegung sein
Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
Ähnliche Themen
-
Textfarbe für Teil des Textes in einem TextArea ändern
Von DIEYOUNG im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 3Letzter Beitrag: 06.09.07, 17:59 -
Zeile in einem TextArea markieren!
Von munuel im Forum JavaAntworten: 4Letzter Beitrag: 08.01.06, 18:39 -
Wert von einem Textarea in ein anderes übertragen
Von moondancer im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 06.01.06, 11:18 -
automatische eingabe in einem textarea
Von xenon im Forum Javascript & AjaxAntworten: 27Letzter Beitrag: 22.06.03, 16:53 -
textarea inhalt aus einem iframe ändern..
Von Alexander Schuc im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 06.04.02, 20:41





Zitieren
Login





