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
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
5.124 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 1414 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:
JScrollPane in JDialog wird nicht (richtig) angezeigt
Re: JScrollPane in JDialog wird nicht (richtig) angezeigt
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com