Creare una tabella (gia fatto*) la quale abbia una solo colonna che sia di
sfondo grigio, non editabile e con allineamento (dei dati contenuti)
centrale;
*
String[] col = {"colonna1","colonna2","colonna3"};
Object[][] cel = new Object[10][3];
JTable tab = new JTable(cel,col);
come si fa??
grazie.
--
.·´¯`·.¸¸.·´¯`·.¸¸.·>>> Psycotony <<<·.¸¸.·´¯`·.¸¸.·´¯`·.
#email: psyc...@libero.it
#C6: psycotony
#Site: http://digilander.iol.it/Psycotony
"L'amore ci elargisce la più straordinaria, ineffabile esperienza...
giacché infatti noi siamo nati per amare".
Se vui cambiare le proprietà di una cella, basta che ti fai dare dalla
JTable, il suo TableColumnModel, da questo ottieni il TableColumn relativo
alla colonna che ti interessa e da quest'ultimo ottieni il TableCellEditor.
La sintassi completa purtroppo non me la ricordo, perchè é diverso tempo
che non lavoro + in Java (purtroppo la crisi del settore......... P.S.
sapete se c'è qualche società che richiede sviluppatori?)
Comunque non è difficile ne tedioso, ci vuole solo un pò di volontà nel
seguire la documentazione che SUN mette a disposizione.
Bye
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
??? Infatti:
> Se vui cambiare le proprietà di una cella, basta che ti fai dare dalla
> JTable, il suo TableColumnModel, da questo ottieni il TableColumn relativo
> alla colonna che ti interessa e da quest'ultimo ottieni il
TableCellEditor.
Accedere a 3 oggetti per cambiare l'allineamento di una colonna, non male!
> Comunque non è difficile
Sara'
> ne tedioso,
Questa poi e' grossa.
Scusate il tono, che vorrebbe essere scherzoso e non polemico.
Quello che voglio dire e' che, a mio modestissimo avviso, Java e'
un linguaggio fantastico, ma il package Swing non e' all'altezza.
Io faccio sempre il paragone con java.net.*: quello e' grande software.
Un qualsiasi programmatore di livello medio-basso riesce con pochissime
righe di codice a gestire mega-casini come quelli relativi alla
comunicazione
TCP/IP.
Ma swing, cribbio, fa pieta'. Per cambiare l'allineamento di una cella
guarda che casino.
Un altro piccolo esempio: JTable non e' scrollabile e la devo sempre
inserire
in uno scroll pane. Ma che diamine me ne faccio di una tabella che non fa
lo scrolling in automatico? E gli esempi potrebbero continuare per ore.
Io spero sempre in una rifondazione del package grafico che lo renda
adeguato
a quel grandioso linguaggio di programmazione che e' Java.
Ciao.
Franco
"Franco Lombardo" <f_lom...@hotmail.com> ha scritto nel messaggio
news:b97s4f$g9elu$1...@ID-100339.news.dfncis.de...
Secondo me vi sbagliate,
swing e' complesso solo perche' permette di fare cose complesse.
Probabilissimo.
> swing e' complesso solo perche' permette di fare cose complesse.
OK. Io, nel mio piccolo, ho creato una JTable che contiene altre JTable come
renderer. Sarebbe forse impossibile con molti altri linguaggi.
Se pero' voglio fare cose semplici, devo avere un modo semplice per farlo.
Il codice che ho scritto per il JTableRenderer non e' molto piu' complesso
di quello che si deve scrivere per cambiare il font di una colonna!!!
Con swing e' difficile fare anche le stupidate.
Ciao
Franco
Certo, ma la versatilita' delle JTable e' dovuta a questo.
Io penso che la cosa fondamentale e' capire bene il pattern alla base (MVC)
capito quello credo che tutto diventi piu' semplice.
http://www.javaworld.com/javaworld/jw-04-1998/jw-04-howto.html
Ma i pattern non devono essere abusati, come dice Robert C. Martin in
http://www.objectmentor.com/resources/articles/inheritanceVsDelegation
"Design patterns are wonderful things. They can help you with many design
problems.
But the fact that they exist does not mean that they should always be used.
In this case,
while TEMPLATE METHOD was applicable to the problem, its use was not
advisable. The
cost of the pattern was higher than the benefit it yielded."
In swing, secondo me, che sono un buzzurro dell'informatica, si abusa
dell'MVC.
(Comunque grazie per il link, mi sembra molto interessante).
Swing mi sembra il classico esempio di contraddizione del principio dell'XP
"La cosa piu' semplice che possa funzionare".
Ciao
Franco
Non credo, secondo me la separazione dati-visualizzazione e' una delle cose
piu' belle di swing
>
> Swing mi sembra il classico esempio di contraddizione del principio
dell'XP
> "La cosa piu' semplice che possa funzionare".
Non sono un esperto di extreme programming, ma da quel poco che ne so non mi
sembra che ci siano evidenti conflitti.
Posso dirti che nell'XP come in altri contesti il riutilizzo e'
fondamentale, e i componenti swing mi sembrano, proprio in virtu' della
possibilita'
di cambiargli solo il modello dei dati, o solo il layer di visualizzazione,
molto ma molto riutilizzabili
Ciao
Pietro
Trovi stupida la logica MVC delle SWING?
Il fatto di avere uno JScrollPane generico per tutto, piuttosto che un
oggetto che si porta sempre dietro una montagna di codice spesso inutile,
lo trovi cosě scemo?
Ma si in fondo ci vuole una laurea per scrive container.add(new
JScrollPane(nomeComponente));
Il package net ti permette con poche righe di fare la tua chat?
Ma devi fare il programmatore o il risparmiatore di righe?
Le pappe belle e fatte spesso limitano il campo di azione, te ne accorgi
quasi subito, come tenti di fare applicazioni piů serie, vedi subito i
limiti di questi pachage, che spesso dimostrano di essere anche molto poco
modulabili.
Gli oggetti poi possono esser estesi e personalizzati proprio per venire
incontro alle esigenze delgli sviluppatori.
Spesso utilizzi JTable che fanno certe cose ? Fatti una libreria che ti
semplifichi il lavoro.
La programmazione OOP forse č l'unica vera cosa bella che ci č rimasta a
noi programmatori e trovo che la logica delle MVC dimostri che c'č ancora
gente cazzuta che sa fare strumenti potenti.
Forse non difficile, ma sicuramente tedioso se mi serve solo per impostare
l'allineamento del font di una colonna.
E poi la complessita' puo' nascere dalla somma di moltissime operazioni in
se' banali.
> Trovi stupida la logica MVC delle SWING?
No, mi sono espresso male. Il pattern MVC e' ottimo, ma, come
dicevo in un altro post, attenzione a non sparare ad un passero con un
cannone. MVC per una JTable mi sta bene, ma per un JText...
Se devo fare cose semplici devo avere strumenti semplici!!!
E poi MVC mica impone di scrivere 10 righe di codice per bloccare una
colonna
di una tabella. C'e' sw scritto bene e sw scritto male, anche se implementa
i piu' fantascti pattern del mondo. Secondo me swing non e' scritto molto
bene.
> Il fatto di avere uno JScrollPane generico per tutto, piuttosto che un
> oggetto che si porta sempre dietro una montagna di codice spesso inutile,
> lo trovi così scemo?
> Ma si in fondo ci vuole una laurea per scrive container.add(new
> JScrollPane(nomeComponente));
Il fatto e' che nel 100% dei casi questo codice inutile serve, allora non
e' inutile (o no). E allora perche' non e' fatto automaticamente dalla
libreria.
Come dicevo prima, aggiungere una semplice riga di codice e' facile,
ma se di semplici righe ne devo mettere decine e decine...
Se vuoi un bellissimo esempio di codice inutile, parliamo invece
dell'interfaccia Accessible, presente in tutti i componenti swing.
Quella si' che me la porto dietro per nulla.
> Il package net ti permette con poche righe di fare la tua chat?
> Ma devi fare il programmatore o il risparmiatore di righe?
Sbaglio o la filosofia dell'OO e' quella di scrivere solo la parte di
codice significativa per il problema, lasciando il resto a chi ha sviluppato
gli oggetti opportuni. Se cosi' non fosse, allora potremmo tornare a
scrivere
in assembler.
> Le pappe belle e fatte spesso limitano il campo di azione, te ne accorgi
> quasi subito, come tenti di fare applicazioni più serie, vedi subito i
> limiti di questi pachage, che spesso dimostrano di essere anche molto poco
> modulabili.
java.net e' poco modulabile?
Il problema e' che swing ti permette di inserire bottone come renderer di
una
tabella che e' l'editor di un JTree, ma a chi serve veramente tutto cio'?
Io faccio schifoso "gestionale", non giochi in 3d. Nel 99% dei casi mi
serve,
ad esempio, bloccare una colonna di una JTable, o nasconderne alcune colonne
a richiesta. Inoltre mi servirebbe un DefaultTableModel legabile ad un set
di record preso da un DB. Queste, per chi fa gestionale, penso siano cose
ovvie. Eppure swing non le fa. Certo, mi sono fatto la mia libreria
personalizzata che
svolge questi compiti, ma ho dovuto perdere un sacco di tempo,
distogliendomi
dai veri problemi dei miei programmi.
Ciao
Franco
> Sbaglio o la filosofia dell'OO e' quella di scrivere solo la parte di
> codice significativa per il problema, lasciando il resto a chi ha sviluppato
> gli oggetti opportuni. Se cosi' non fosse, allora potremmo tornare a
> scrivere
> in assembler.
Questa e' la filosofia delle librerie, non dell'oo.
ciao
uL