|
| Scrollbars i JTable Fra : Martin Bratbo |
Dato : 05-04-04 22:35 |
|
Jeg har desperat forsøgt at få scrollbars i en JTable et af forsøgene er
findes herunder, jeg har ingen som helst idé om hvad det er der mangler
for at kunne få scollbars på, og iøvrigt hvorfor
setDefaultLookAndFeelDecorated(true) ingen effekt har
Er der nogen der kan fortælle mig hvad der mangler ?
Med venlig Hilsen
Martin Bratbo
import java.util.*;
import javax.swing.table.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Dimension;
public class MBTableDemo extends JFrame {
/** Creates a new instance of MBTableDemo */
public MBTableDemo() {
String[] head=new String[]{"PDMS","PipePlus"};
List data=new ArrayList();
data.add(new String[]{"/A0","B0"});
data.add(new String[]{"/A1","B1"});
data.add(new String[]{"/A2","B2"});
data.add(new String[]{"/A3","B3"});
data.add(new String[]{"/A4","B4"});
data.add(new String[]{"/A5","B5"});
data.add(new String[]{"",""});
JTable jtb=new JTable(new HangerTableModel(head, data));
jtb.setPreferredScrollableViewportSize(new Dimension(400,400));
jtb.setMinimumSize(new java.awt.Dimension(400,400));
JScrollPane jsc=new JScrollPane(jtb);
this.getContentPane().add(jsc,java.awt.BorderLayout.CENTER);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
MBTableDemo mbt= new MBTableDemo();
mbt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mbt.setDefaultLookAndFeelDecorated(true);
mbt.pack();
mbt.setVisible(true);
}
}
| |
Mike (06-04-2004)
| Kommentar Fra : Mike |
Dato : 06-04-04 09:00 |
|
In article <jikcc.134637$jf4.7274671@news000.worldonline.dk>, Martin
Bratbo <martin@bratbo.dk> wrote:
> Jeg har desperat forsøgt at få scrollbars i en JTable et af forsøgene er
> findes herunder, jeg har ingen som helst idé om hvad det er der mangler
> for at kunne få scollbars på, og iøvrigt hvorfor
> setDefaultLookAndFeelDecorated(true) ingen effekt har
> Er der nogen der kan fortælle mig hvad der mangler ?
>
> Med venlig Hilsen
>
> Martin Bratbo
>
> import java.util.*;
> import javax.swing.table.*;
> import javax.swing.*;
> import java.awt.event.*;
> import java.awt.Dimension;
> public class MBTableDemo extends JFrame {
>
> /** Creates a new instance of MBTableDemo */
> public MBTableDemo() {
> String[] head=new String[]{"PDMS","PipePlus"};
> List data=new ArrayList();
> data.add(new String[]{"/A0","B0"});
> data.add(new String[]{"/A1","B1"});
> data.add(new String[]{"/A2","B2"});
> data.add(new String[]{"/A3","B3"});
> data.add(new String[]{"/A4","B4"});
> data.add(new String[]{"/A5","B5"});
> data.add(new String[]{"",""});
> JTable jtb=new JTable(new HangerTableModel(head, data));
> jtb.setPreferredScrollableViewportSize(new Dimension(400,400));
> jtb.setMinimumSize(new java.awt.Dimension(400,400));
> JScrollPane jsc=new JScrollPane(jtb);
> this.getContentPane().add(jsc,java.awt.BorderLayout.CENTER);
> }
>
> /**
> * @param args the command line arguments
> */
> public static void main(String[] args) {
> MBTableDemo mbt= new MBTableDemo();
> mbt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
> mbt.setDefaultLookAndFeelDecorated(true);
> mbt.pack();
> mbt.setVisible(true);
> }
>
> }
>
Ja du adder fex ikke tabellen til scroll panens viewport..
/Mikael
| |
Søren Berg Glasius (06-04-2004)
| Kommentar Fra : Søren Berg Glasius |
Dato : 06-04-04 09:15 |
|
>
>
> Ja du adder fex ikke tabellen til scroll panens viewport..
Det vil jeg nu nok mene at han gør, når han opretter sin ScrollPane:
> JScrollPane jsc=new JScrollPane(jtb);
Correct me, if I'm wrong
/Søren
| |
Soren Kuula (06-04-2004)
| Kommentar Fra : Soren Kuula |
Dato : 06-04-04 19:59 |
|
Martin Bratbo wrote:
> Jeg har desperat forsøgt at få scrollbars i en JTable et af forsøgene er
> findes herunder, jeg har ingen som helst idé om hvad det er der mangler
> for at kunne få scollbars på, og iøvrigt hvorfor
> setDefaultLookAndFeelDecorated(true) ingen effekt har
> Er der nogen der kan fortælle mig hvad der mangler ?
Du skriver ikke hvornår du gerne vil have scrollere på ... måske er der
plads nok til at undvære dem ?
Prøv, hvis du altid vil have dem,
JScrollPane jsc=new JScrollPane(jtb,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
MVH
Søren
| |
Martin Bratbo (07-04-2004)
| Kommentar Fra : Martin Bratbo |
Dato : 07-04-04 09:27 |
|
Soren Kuula skrev:
> Martin Bratbo wrote:
>
>> Jeg har desperat forsøgt at få scrollbars i en JTable et af forsøgene er
>> findes herunder, jeg har ingen som helst idé om hvad det er der
>> mangler for at kunne få scollbars på, og iøvrigt hvorfor
>> setDefaultLookAndFeelDecorated(true) ingen effekt har
>> Er der nogen der kan fortælle mig hvad der mangler ?
>
> Du skriver ikke hvornår du gerne vil have scrollere på ... måske er der
> plads nok til at undvære dem ?
>
> Prøv, hvis du altid vil have dem,
>
> JScrollPane jsc=new JScrollPane(jtb,
> JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
> JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
>
> MVH
> Søren
Mange tak for tippet. Jeg vil have scrollbars på når det er nødvendigt.
Det er lykkedes mig at løse problemet ved at tage udgangspunkt i et
eksempel fra sun's JTable tutorial, som jeg har redigeret til
ukendelighed, men det stadig irriterende ikke at være sikker på hvad det
lige præcis var der manglede i den oprindelige kode.
MVH
Martin Bratbo
| |
Janus E (18-04-2004)
| Kommentar Fra : Janus E |
Dato : 18-04-04 18:04 |
|
> Mange tak for tippet. Jeg vil have scrollbars på når det er nødvendigt.
> Det er lykkedes mig at løse problemet ved at tage udgangspunkt i et
> eksempel fra sun's JTable tutorial, som jeg har redigeret til
> ukendelighed, men det stadig irriterende ikke at være sikker på hvad det
> lige præcis var der manglede i den oprindelige kode.
>
> MVH
>
> Martin Bratbo
>
Måske kunne du ha' løst problemet med HORIZONTAL_SCROLLBAR_AS_NEEDED og
VERTICAL_SCROLL_BAR_AS_NEEDED, begge statics fra JScrollPane ?
Vh Janus
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system ( http://www.grisoft.com).
Version: 6.0.657 / Virus Database: 422 - Release Date: 13-04-2004
| |
The_MaXx (03-05-2004)
| Kommentar Fra : The_MaXx |
Dato : 03-05-04 14:52 |
|
ren
>
> Mange tak for tippet. Jeg vil have scrollbars på når det er nødvendigt.
> Det er lykkedes mig at løse problemet ved at tage udgangspunkt i et
> eksempel fra sun's JTable tutorial, som jeg har redigeret til
> ukendelighed, men det stadig irriterende ikke at være sikker på hvad det
> lige præcis var der manglede i den oprindelige kode.
>
> MVH
>
> Martin Bratbo
>
Har selv brugt det engang, men det er længe siden så min hukommelse kan
svigte mig, men jeg mener at du skal smide tabellen i en container før
du smider den i JScrollPane's view.
Altså skift disse linier:
JScrollPane jsc=new JScrollPane(jtb);
this.getContentPane().add(jsc,java.awt.BorderLayout.CENTER);
ud med disse linier:
JPanel con = new JPanel();
con.setLayout(new java.awt.BorderLayout());
con.add(jtb, java.awt.BorderLayout.CENTER);
JScrollPane jsc=new JScrollPane(con);
this.getContentPane().add(jsc, java.awt.BorderLayout.CENTER);
så burde det virke perfekt uden at du skal tvinge den til at den skal
vise dem i bestemte situationer. Nu skulle der være automatisk scrollbar
hvor det er nødvendigt. Håber det kastede lidt lys over situationen.
The_MaXx
| |
|
|