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

420

    Vastaukset

    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. Mitä aiot tehdä uudenvuoden aattona

      Mitä olet suunnitellut tekeväsi uudenvuoden aattona ja aiotko ensi vuonna tehdä jotain muutoksia tai uudenvuoden lupauks
      Sinkut
      152
      3476
    2. Marin sitä, Marin tätä, yhyy yhyy, persut jaksaa vollottaa

      On nuo persut kyllä surkeaa porukkaa. Edelleen itkevät jonkun Marinin perään, vaikka itse ovat tuhonneet Suomen kansan t
      Maailman menoa
      51
      2432
    3. Mitäköhän vuosi

      2026 tuo tullessaan?
      Ikävä
      121
      1247
    4. Muistattekos kuinka persujen Salainen Akentti kävi Putinin leirillä

      Hakemassa jamesbondimaista vakoiluoppia paikan päällä Venäjällä? Siitä ei edes Suomea suojeleva viranomainen saanut puhu
      Maailman menoa
      15
      1220
    5. Ikävä sinua..

      Kauan on aikaa kulunut ja asioita tapahtunut. Mutta sinä M-ies olet edelleen vain mielessäni. En tiedä loinko sinusta va
      Ikävä
      10
      1119
    6. Väestönsiirtoa itään?

      Ano "the Russo" Turtiainen sai poliittisen turvapaikan Venäjältä. Pian lähtee varmaan Nazima Nuzima ja Kiljusen väki per
      Helsinki
      55
      979
    7. Kuumalle kaivatulle tiedoksi

      Tykkään susta!
      Ikävä
      46
      904
    8. Vuoden luetuimmat: Mikä on Pelle Miljoonan taiteilijaeläkkeen suuruus?

      Pelle Miljoonan eläkkeen suuruus kiinnosti lukijoita tänä vuonna. Artikkeli on Suomi24 Viihteen luetuimpia juttuja v. 20
      Suomalaiset julkkikset
      19
      900
    9. Nyt musta tuntuu

      Et alat päästämään kokonaan irti..
      Ikävä
      40
      815
    10. Riikka Purra sanoo, että sietokykyni vittumaisiin ihmisiin alkaa olla lopussa.

      https://www.iltalehti.fi/politiikka/a/be8f784d-fa24-44d6-b59a-b9b83b629b28 Riikka Purra sanoo medialle suorat sanat vitt
      Maailman menoa
      202
      731
    Aihe