Getter und Setter

Status
Nicht offen für weitere Antworten.
M

Manuela

Gast
Hallo,
ich habe ein JPanel und dort sind 110 JLabels drauf.

Ich muß für jeden einen Getter und Setter machen.

Code:
// ********* Setter *****************
     public void set_jL_Name_08_00(String a){
        jL_Name_08_00.setText(a);
    }

// ********* Getter *****************
    public String get_jL_auftrag_nr_08_00(){
        return jL_auftrag_nr_08_00.getText();
    }

Ich denke es ist nicht so schön wenn ich 110 getter und 110 setter machen muß.

Man müßte doch auch über Component auch irgendwie getter und setter machen können?
Code:
//  hiermit leere ich meine Labels

        public void clearText() {
                Component[] ca = this.getComponents();
                for (int i = 0; i < ca.length; i++) {
                        Component c = ca[i];
                        if (c
                                .getClass()
                                .toString()
                                .equals("class javax.swing.JLabel")) {
                                JLabel b = (JLabel) c;
                                b.setText("");

                        }

                }
         }

und ich stell mir vor das das auch irgend wie gehen muß.

Gruß Manuela
 

Wildcard

Top Contributor
Anders forumliert:
Warum sind 110 Labels in einer Component?
Warum denkst du 110 getter und setter zu brauchen?
Wie soll der Monstercode dazu aussehen?
 
M

Manuela

Gast
Hallo
ich mache mir einen Kalender (wie der von Outlook)
und da habe ich

von 6:00 Uhr bis 22:00 jeweils JLabels postiert.

ich habe schon über Table nachgedacht aber der gefällt mir nicht.

Gibt es da fertige Componente die man benutzen kann ???

Gruß Manuela
 

Wildcard

Top Contributor
Nimm eine Tabelle. Das Argument das sie dir nicht gefällt ist kein Argument, da eine Tabelle genau so aussieht wie du sie aussehen lässt.
 
G

Guest

Gast
Hallo!

Manuela hat gesagt.:
Hallo
ich mache mir einen Kalender (wie der von Outlook)
und da habe ich

von 6:00 Uhr bis 22:00 jeweils JLabels postiert.

Hier wiederholt sich offenbar einiges.

Alles, was sich wiederholt, brauchst Du in einer Schleife nur einmal schreiben.

Grüße Gerald
 

Marco13

Top Contributor
Die Dinger dann in einen Array zu packen wäre eine Möglichkeit. Oder vielleicht (!) in eine HashMap, für bequemen Zugriff
Code:
class MyMonsterClassWhichShouldBeASimpleJTable
{
    private HashMap<String, JLabel> labels;

    public void fill()
    {
          for (int i=8; i<=22; i++)
          {
               String timeString = i+":00";
               labels.put(timeString, new JLabel());
          }
     }

     void foo()
     {
         labels.get("8:00").setText("Todo: Write some get and set methods");
         labels.get("9:00").setText("Todo: Write some get and set methods");
         labels.get("10:00").setText("Todo: Write some get and set methods");
         labels.get("11:00").setText("Todo: Write some get and set methods");
         labels.get("12:00").setText("Todo: Write some get and set methods");
    }
}
Jedenfalls sind 110 Labels in einer Component (imho) ziemlicher Bockmist.
 

Wildcard

Top Contributor
Marco13 hat gesagt.:
Jedenfalls sind 110 Labels in einer Component (imho) ziemlicher Bockmist.
Genau so sehe ich das auch, daher sind alle weiteren Vorschläge zu diesem Thema kontraproduktiv,
Das Problem bei der Wurzel packen lautet die Devise.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben