Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] JScrollPane e posizione iniziale barra verticale

    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

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] JScrollPane e posizione iniziale barra verticale

    Originariamente inviato da Wolvy23
    Non riesco a farla posizionare automaticamente in alto....
    Appena dopo che hai settato il testo:
    textArea.setCaretPosition(0);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie infinite....
    io cercavo la soluzione su JScrollPane

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.