carookee - group communication for you
Home / JavaForum / Swing + AWT
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.955 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 1421 von 1460 (97%) |<   <   >   >|

Autor Seldon
Datum 29.10.05, 15:12
Betreff JScrollPane in JDialog wird nicht (richtig) angezeigt


Hallo,
ich möchte im Verlauf eines Dialogs die Möglichkeit anbieten, ein Feld aus JRadioButtons zu bedienen.
Dazu füge ich der ContentPane des JDialog-Objekts ein JScrollPane im CENTER zu. Die JScrollPane nimmt ein JPanel mit den JRadiobuttons auf. Passieren tut folgendes: Das Dialogfenster wird in der richtigen Größe (preferredSize von JScrollPane im CENTER) angezeigt, das Zentrum jedoch ist leer. Vergrößert man das Dialog-Fenster von Hand wird die ScrollPane mit den RadioButtons und ScrollBars sichtbar, jedoch ein Abschnitt in der Größe der (preferredSize) der ScrollPane bleibt grau, bis erstmals drübergescrollt wird. Dann ist zwar der gesamte Bereich sichtbar, die Buttons im genannten Abschnitt sind jedoch nicht editierbar(anklickbar).
hier der Code, vielen Dank für jeden Hinweis...bin zugegebener Maßen mit dem ganzen pack(), show(), validate(), revalidate(), paint(), repaint()...etwas überfordert.

...
JPanel center=new JPanel();
center.setLayout(new GridLayout(x,y));
for (int i){
for (int j){
center.add(new JRadioButton(i,j)
}
}//funktioniert soweit: auf center liegt eine Matrix aus JRadioButtons//
center.setPreferredSize(center.getMinimumSize());
//ab hier wird's fragwürdig??
JScrollPane centerSP=new JScrollPane(center);
centerSP.setPreferredSize(new Dimension(200,200));
centerSP.show();
centerSP.setVisible(true);
//zur contentPane des JDialog-Objekts
getContentPane().add(centerSP, BorderLayout.CENTER);
getContentPane().validate();
update(this.getGraphics);
pack();
getContentPane.show();
setVisible(true)

Vielleicht noch ein paar Ergänzungen: eine Klasse myEditor erzeugt bei entsprechender Menupunkt-Auswahl ein Exemplar von myDialog extends JDialog. Dessen ContentPane ist mit BorderLayout "belegt"(setBorderLayout()..., dazu noch setDefaultClosing.., setLocation...usw.
Im Dialog werden Einstellungen in mehreren Schritten vorgenommen, die mit Betätigen des entsprechenden ("next"-Buttons) dem myEditor-Exemplar übergeben werden.
im "Norden" werden dann immer die bereits getätigten Einstellung angezeigt(einfach per String in entsprechendem JLabel auf einem JPanel"north")
Im "Süden" (der ContentPane des Dialogs) sind die "back"+"next" buttons(je nach Status von best. Variablen wird zur entsprechenden Folge- /Vorgänger-Darstellung gewechselt). Im CENTER (der Dialog-ContentPane) wechseln die
eigentlichen Auswahl-/Einstell-Elemente(remove(), add()...): zweimal JChoises, einmal JTextfield(ohne JScrollPane): das klappt auch immer. Nur beim dritten Wechsel, wenn die JRadiobutton-Matrix auf ihrem JPanel "center" in's JScrollPane eingebunden werden soll gibt's oben beschriebene Probleme...
:o(
Vielen Dank für jeden Hinweis. (Die sun-APi usw hab' ich aber denk ich schon durch...)
Stefan


Diskussionsverlauf:
    Re: JScrollPane in JDialog wird nicht (richtig) angezeigt
JScrollPane in JDialog wird nicht (richtig) angezeigt

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com