JEditorPane, scallering af tekst.
I mit arbejde med at lave en browser til en PDA, har jeg lavet fölgende for at indläse en URL i en JFrame:public class MyBrowser extends JFrame implements ActionListener, HyperlinkListener{
private JEditorPane jep;
private JTextField enter;
public MyBrowser(){
super("Enter file URL here");
Container c = getContentPane();
enter = new JTextField();
enter.addActionListener(this);
c.add(enter, BorderLayout.NORTH);
jep = new JEditorPane();
jep.setEditable(false);
jep.addHyperlinkListener(this);
c.add(new JScrollPane(jep),BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(240,320);
show();
};
public void actionPerformed(ActionEvent e){
getThePage(e.getActionCommand());
};
public void hyperlinkUpdate(HyperlinkEvent e){
if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED){
jep = (JEditorPane) e.getSource();
if (e instanceof HTMLFrameHyperlinkEvent) {
HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent)e;
HTMLDocument doc = (HTMLDocument)jep.getDocument();
doc.processHTMLFrameHyperlinkEvent(evt);
}
else {
try {
getThePage(e.getURL().toString());
}
catch (Throwable t) {
t.printStackTrace();
}
}
}
};
public void getThePage(String location){
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
try{
jep.setPage(location);
enter.setText(location);
}
catch (Exception e){
System.err.println("Exception: " + e);
};
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
}
public static void main(String argv[]){
MyBrowser app = new MyBrowser();
};
}
Da jeg skal have scalleret indholdet ned, så det kan väre på en PDA-skärm (240,320), er jeg ude efter en metode til at göre sådan. Hvordan får jeg fat i indholdet og derefter scallerer det ned?
