Salve a Tutti.....
ho scritto questo codice per creare una finestra contenente
del testo formattato in html, il tutto contenuto in un JScrollPane
in quanto il testo caricato varia di volta in volta.
Il problema è che la barra verticale si posiziona in basso,
ovvero obbliga l'utente a scrollarla tutta verso l'alto per poter
leggere il testo dall'inizio.
codice:
public class DialogL extends JDialog {
private static final long serialVersionUID = 1L;
public DialogL(String testo, int mouseX, int mouseY) {
Color verde = Coockies.verdeNewBtn;
JEditorPane textArea = new JEditorPane();
textArea.setContentType("text/html");
textArea.setOpaque(false); // trasparente
textArea.setText(testo);
textArea.setEditable(false);
JScrollPane scrollArea = new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
// box2 altro pannel del container
JPanel box2 = new JPanel();
box2.setLayout(new FlowLayout(FlowLayout.RIGHT));
JButton chiudi = new JButton(new ImageIcon("images\\ico\\ok_32.png"));
chiudi.setFocusPainted(false);
chiudi.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent e) { chiudi(); }
});
box2.add(chiudi);
JPanel container = new JPanel();
container.setBorder(new BevelBorder(BevelBorder.LOWERED));
container.setLayout(new BorderLayout());
container.setBackground(verde);
container.add(scrollArea, BorderLayout.CENTER);
container.add(box2, BorderLayout.SOUTH);
setContentPane(container);
setUndecorated(true);
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
setResizable(false);
setModal(true);
int maxW = DatiSystem.risoluzioneSchermo.width/3;
int maxH = DatiSystem.risoluzioneSchermo.height/4;
setPreferredSize(new Dimension(maxW,maxH));
setLocation(mouseX-getPreferredSize().width,mouseY-getPreferredSize().height);
pack();
setVisible(true);
} // FINE COSTRUTTORE
Non riesco a farla posizionare automaticamente in alto....
qualcuno può aiutarmi, grazie