Miten tätä koodia pitää muuttaa

Koodityttö

public class Formats {

public static NumberFormat numberformatter = new NumberFormat("#,###0.00");
public static WritableFont defaultfont = new WritableFont(WritableFont.TAHOMA, 10);
public static WritableFont headerfont = new WritableFont(WritableFont.TAHOMA, 10, WritableFont.BOLD);

private static WritableCellFormat number;
private static WritableCellFormat label;
private static WritableCellFormat PlainLabel;
private static WritableCellFormat header_dark;
private static WritableCellFormat header_light;

private Formats() {
}

/**
* @return the defaultfont
*/
public WritableFont getDefaultfont() {
return defaultfont;
}

/**
* @param defaultfont the defaultfont to set
*/
public void setDefaultfont(WritableFont defaultfont) {
this.defaultfont = defaultfont;
}

/**
* @return the headerfont
*/
public WritableFont getHeaderfont() {
return headerfont;
}

/**
* @param headerfont the headerfont to set
*/
public void setHeaderfont(WritableFont headerfont) {
this.headerfont = headerfont;
}

public static synchronized WritableCellFormat getNumber() throws WriteException {
if (number == null) {
number = new WritableCellFormat(defaultfont, numberformatter);
number.setBorder(Border.ALL, BorderLineStyle.THIN);
}
return number;
}

public static synchronized WritableCellFormat getLabel() throws WriteException {
if (label == null) {
label = new WritableCellFormat(defaultfont);
label.setBorder(Border.ALL, BorderLineStyle.THIN);
}
return label;
}

public static synchronized WritableCellFormat getPlainLabel() throws WriteException {
if (PlainLabel == null) {
PlainLabel = new WritableCellFormat(defaultfont);

}
return PlainLabel;
}

public static synchronized WritableCellFormat getHeader1() throws WriteException {
if (header_dark == null) {
header_dark = new WritableCellFormat(headerfont, numberformatter);
header_dark.setBackground(Colour.AQUA);
header_dark.setBorder(Border.ALL, BorderLineStyle.THIN);


}
return header_dark;
}

public static synchronized WritableCellFormat getHeader2() throws WriteException {
if (header_light == null) {
header_light = new WritableCellFormat(headerfont, numberformatter);
header_light.setBackground(Colour.LIGHT_TURQUOISE);
header_light.setBorder(Border.ALL, BorderLineStyle.THIN);


}
return header_light;
}
Ongelma on, että muotoilut eivät enää pysy, kun olio luodaan uudelleen. Apua kaivataan ASAP!

6

444

    Vastaukset 6

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • keksa1

      pysyy hengissä niin kauan kun yksikin Formats-luokan olio on hengissä. Itse asiassa ne luodaan kun eka Formats- luodaan ja ne pysyy hengissä niin kauan, kun ohjelma on hengissä.

      Koitas tehdä jonnekin yksi tuollainen Formats-olio ihan vaan istumaan. Teet sen sellaiseen luokkaan, joka pysyy käynnissä koko prosessisin ajan.

      • Koodityttö

        Kokeilin tulostaa yhden olion siellä, missä solu muodostetaan ja lisätään sheetiin (eli asetetaan solulle muotoilut ja sisältöarvo ja isketään se addcell-metodilla writablesheetiin). Sama muistiosoite tulostui kummallakin kerralla, mutta tokalla muotoilut olivat edelleen poissa. Tilanne nollautuu vasta, kun virtuaalikone sammuu.

        Siis olio pysyy olemassa mutta mitä ihmettä sille tapahtuu?


      • Koodityttö
        Koodityttö kirjoitti:

        Kokeilin tulostaa yhden olion siellä, missä solu muodostetaan ja lisätään sheetiin (eli asetetaan solulle muotoilut ja sisältöarvo ja isketään se addcell-metodilla writablesheetiin). Sama muistiosoite tulostui kummallakin kerralla, mutta tokalla muotoilut olivat edelleen poissa. Tilanne nollautuu vasta, kun virtuaalikone sammuu.

        Siis olio pysyy olemassa mutta mitä ihmettä sille tapahtuu?

        Semmoinen tuli vielä mieleen, että saattaisko vika liittyä excel-näkymän renderöimiseen?


      • foobarfoo
        Koodityttö kirjoitti:

        Semmoinen tuli vielä mieleen, että saattaisko vika liittyä excel-näkymän renderöimiseen?

        JExcelin faq löytyy maininta että cell formatterit eivät saa olla staattisia. Eli kokeileppa tuolla faqssa esitettyä tapaa tehdä toi solujen formatointi.

        http://jexcelapi.sourceforge.net/resources/faq/ -> getting the error message 'too many different cell formats'


      • Koodityttö
        foobarfoo kirjoitti:

        JExcelin faq löytyy maininta että cell formatterit eivät saa olla staattisia. Eli kokeileppa tuolla faqssa esitettyä tapaa tehdä toi solujen formatointi.

        http://jexcelapi.sourceforge.net/resources/faq/ -> getting the error message 'too many different cell formats'

        Saan virheilmoituksen non-static method cannot be referenced from a static context..


      • foobarfoo
        Koodityttö kirjoitti:

        Saan virheilmoituksen non-static method cannot be referenced from a static context..

        Eli joku staatttinen metodi yrittää kutsua olion metodia. Korjauksesta on vaikea sanoa mitään näkemättä koko koodia.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Naiset ymmärtävät ettei talous lähde nousuun

      Miten paljon järjellisempi olento nainen onkaan kuin tilastollisestikin paremmin tienaava mies. Kun kaikkialla puskuroid
      Maailman menoa
      155
      1037
    2. En jaksa

      Enää pelleillä ja paljastan J naisen nimen. Se on Jonna ja hän ei koskaan, edes luultavasti ollut täällä. Silti piene
      Ikävä
      44
      707
    3. Kissa eli kivuissa useita viikkoja

      Ei vienyt lääkäriin vaikka kissa parka maukui ja moni seuraajakin (minäkin) näin että kissa on sairas.
      Tuusniemi
      127
      651
    4. Minkälainen nainen

      Minkälainen kaipaamasi nainen on luonteeltaan? Kaikki hassun hauskat antava ja helppo on sallittuja, jos poikien on kovi
      Ikävä
      23
      638
    5. Yksi asia sen esti

      Etten antanut meille mahdollisuutta
      Ikävä
      43
      617
    6. Okei, eli olet rakastunut

      Hyvä sinä, niin minäkin.
      Ikävä
      67
      605
    7. Martinan mauton tyyli

      Voi hyvää päivää 🤣 nyt ollaan oltu Muhiksen kanssa Kultareservin avajaisissa suorat housut jalassa ja 500€ korsetti pää
      Kotimaiset julkkisjuorut
      160
      565
    8. Jos meillä olisi yhteinen koti

      Niin haittaisiko sinua pitää se vähä tavaraisena? Ajattelin tänään että jos joskus asuttaisiin yhdessä ja haluaisit pal
      Ikävä
      51
      547
    9. Arvaako kukaan?

      "Humalojalla metalliromun keräyspaikalla on kulkenut pitkin kevättä ja kesää joku henkilö, joka on vienyt sieltä kymmeni
      Haapavesi
      34
      544
    10. Tuntuu pahalta meidän molempien puolesta

      Anteeksi, että olen tällainen pelkuri. En vaan usko rakkauteen enää miehen ja naisen välillä omalla kohdalla. Tiedän, et
      Ikävä
      34
      518
    Aihe