Portal > Foren > Java > Desktop-Applikationen und Grafik > Komponenten in Komponenten
Antwort
 
Themen-Optionen
Alt 17.11.2005, 16:05 Nach oben    #1
Benutzer
 
Registriert seit: 13.08.2005
Beiträge: 67
Standard Komponenten in Komponenten

Hi,

ich bin dabei verschiedene Masken zu entwickeln.

Da ich für meine Diplomarbeit im Bereich MDA rumwurstele wäre es nützlich die Felder der Maske vom Layot der Komponente zu Trennen.

Um die Darstellung der Masken (Hintergrund,..) der darunterliegenden Komponente nicht anpassen zu müssen leite ich diese von JComponent ab.

Was ich jetzt bräuchte wäre die Möglichkeit innerhalb meiner Komponente einen Bereich (eine Komponente) einzufügen in dem ich dann dynamisch die Masken reindefinieren kann.

So in etwa ist ja auch der JFrame realisiert.
Leider finde ich im Moment nicht den Ansatz.
Eine Instanz von JComponent kann ich nicht und eine abgeleitete Klasse möchte ich mir nicht erzeugen da die ganze Maske später in einer Datei definiert sein sollte. (Klar, Wege gibt es die einfacher wären aber das ist die Vorgabe )

Da diese Beschreibung bestimmt noch Fragen offen läst poste ich einfach mal und reagiere dann auf Anregungen.

Danke
Robinson ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.11.2005, 16:52 Nach oben    #2
Benutzer
 
Registriert seit: 13.08.2005
Beiträge: 67
Standard

Hab hier einen kleinen Workaround:

PHP-Code:
private JComponent content = new JComponent() {
        private static final 
long serialVersionUID 1L;
    }; 
Da ich aber stark daran zweifle dass dies die feine Java Art ist bin ich für Vorschläge nach wie vor dankbar

In der Klasse sieht es dann wie folgt aus:

PHP-Code:
import javax.swing.JComponent;
import javax.swing.JLabel;
import com.jgoodies.forms.layout.FormLayout;
import javax.swing.BorderFactory;

public class 
Mask extends javax.swing.JComponent {

    private static final 
long serialVersionUID 1L;
        
    private 
de.diplom.basic.swing.input.MyTextField textFieldName = new de.diplom.basic.swing.input.MyTextField();
    private 
de.diplom.basic.swing.input.MyTextField textFieldDescription = new de.diplom.basic.swing.input.MyTextField();
    private 
de.diplom.basic.swing.input.MyTextField textFieldKeywords = new de.diplom.basic.swing.input.MyTextField();
    private 
com.jgoodies.forms.layout.CellConstraints cc = new com.jgoodies.forms.layout.CellConstraints();
    private 
de.diplom.basic.ButtonBar buttonBar = new de.diplom.basic.ButtonBar("verwerfen speichern");
    private 
JComponent content = new JComponent() {
        private static final 
long serialVersionUID 1L;
    };
    
    public 
Mask(final Controller controller) {
java.text.DecimalFormat intFormat = (java.text.DecimalFormat)java.text.DecimalFormat.getInstance(java.util.Locale.getDefault());
        
intFormat.applyPattern("0");
java.text.DecimalFormat doubleFormat = (java.text.DecimalFormat)java.text.DecimalFormat.getInstance(java.util.Locale.getDefault());
        
doubleFormat.applyPattern("0.00");
        
setLayout(new FormLayout("f:p:g","f:p:g,2px,f:p"));
        
content.setLayout(new FormLayout("r:p, 7px, 140px:g","f:p,2px,f:p,2px,f:p,2px,f:p"));
        
content.setBorder(BorderFactory.createTitledBorder("  ArticleLanguageTag Details  "));
        
        
content.add(new JLabel("Name"),cc.xy(1,1));
        
content.add(textFieldName,cc.xy(3,1));
        
content.add(new JLabel("Description"),cc.xy(1,3));
        
content.add(textFieldDescription,cc.xy(3,3));
        
content.add(new JLabel("Keywords"),cc.xy(1,5));
        
content.add(textFieldKeywords,cc.xy(3,5));
        
add(content,cc.xy(1,1));
        
add(buttonBar,cc.xy(1,3));
        
buttonBar.getButtons().get(0).addActionListener(new java.awt.event.ActionListener(){
            public 
void actionPerformed(java.awt.event.ActionEvent arg0) {
                
controller.cancel();
            }
        });
        
buttonBar.getButtons().get(0).addActionListener(new java.awt.event.ActionListener(){
            public 
void actionPerformed(java.awt.event.ActionEvent arg0) {
                
controller.save();
            }
        });
    }

    public 
void setContent(Data data) {
        
textFieldName.setText(data.getName());
        
textFieldDescription.setText(data.getDescription());
        
textFieldKeywords.setText(data.getKeywords());
    }

    public 
void getContent(Data data) {
        
data.setName(textFieldName.getText());
        
data.setDescription(textFieldDescription.getText());
        
data.setKeywords(textFieldKeywords.getText());
    }

    public 
void setEnabled(boolean valboolean requestFocus) {
        
textFieldName.setEnabled(val);
        
textFieldName.requestFocus();
        
textFieldDescription.setEnabled(val);
        
textFieldKeywords.setEnabled(val);
    }


Robinson ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Comonenten - Sammlungen eyeless Desktop-Applikationen und Grafik 3 19.12.2005 09:12
Größen ermitteln beim zeichnen von Komponenten Robinson Desktop-Applikationen und Grafik 5 22.11.2005 22:46
Eigene grafische Komponenten schreiben BadBeu Desktop-Applikationen und Grafik 9 29.05.2005 08:54
(awt)grafik mit swing komponenten taskin73 Desktop-Applikationen und Grafik 3 01.12.2004 20:59
Komponenten sind nicht am definierten Ort platziert Kloppstock Desktop-Applikationen und Grafik 5 31.10.2004 12:17


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:24 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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