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!
Miten tätä koodia pitää muuttaa
6
353
Vastaukset
- 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
Katso: Ohhoh! Miina Äkkijyrkkä sai käskyn lähteä pois Farmi-kuvauksista -Kommentoi asiaa: "En ole.."
Tämä oli shokkiyllätys. Oliko tässä kyse tosiaan siitä, että Äkkijyrkkä sanoi asioita suoraan vai mistä.... Tsemppiä, Mi2058317- 424708
Poliisiauto Omasp:n edessä parkissa
Poliisiauto oli parkissa monta tuntia Seinäjoen konttorin edessä tänään. Haettiinko joku tai jotain pankista tutkittavak282270Haluan jutella kanssasi Nainen
Olisiko jo aika tavata ja avata tunteemme...On niin paljon asioita joihin molemmat ehkä haluaisimme saada vastaukset...O192158Onko mies niin,
että sinulle ei riitä yksi nainen? Minulle suhde tarkoittaa sitoutumista, tosin eihän se vankila saa olla kummallekaan.281955Armi Aavikko Malmin hautausmaa
Haudattiinko Armi arkussa Malmin hautausmaalle vai tuhkattiinko hänet? Kuka tietää asiasta oikein?401845Voitasko leikkiä jotain tunnisteleikkiä?
Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta771756Haluisin suudella ja huokailla
ja purra kaulaasi ja rakastella sinua. Haluisin puristella rintojasi ja pakaroitasi. Ei sinulla taida olla kuitenkaan ni231756Tietysti jokainen ansaitsee
Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt171653Miksi näin?
Miksi vihervassut haluaa maahan porukkaa jonka pyhä kirja kieltää sopeutumisen vääräuskoisten keskuuteen? Näin kotoutumi391458