How do I programmatically set the size of the the web browser window that is created with the MATLAB web command " web " ?

8 vues (au cours des 30 derniers jours)
I would like to use MATLAB's built-in web capabiliies to open a web page and place it on my screen in a specific location.
For example, when I enter the command:
[h1,h2,h3]=web('http://news.google.com','-notoolbar','-new'); % open a web page
I am able to determine the location of the web page on my screen:
webPageScreenInfo = ([h2.getLocationOnScreen.x, ...
h2.getLocationOnScreen.y, ...
h2.getSize.width, ...
h2.getSize.height]);
I have only been able to get the location but not to set the location.
And my available screen size is given by:
availableScreenSize = get( groot, 'Screensize' ); % determine size of my screen
I have played with some undocumented stuff in MATLAB by exploring these commands and a few others:
methodsview('com.mathworks.mde.webbrowser.WebBrowser')
com.mathworks.mlservices.MatlabDesktopServices.getDesktop.closeGroup('Web Browser')
I am lost on how to proceed. Please help!

Réponse acceptée

Yair Altman
Yair Altman le 23 Jan 2019
Modifié(e) : Yair Altman le 24 Jan 2019
Note: undocumented/unsupported:
[h1,h2,h3] = web('http://news.google.com','-notoolbar','-new'); % open a web page
drawnow; pause(0.05);
jWindow = h2.getTopLevelAncestor;
jWindow.setSize(java.awt.Dimension(800,400)); % width,height
jWindow.setLocation(java.awt.Point(300,500)); % x,y
Note that the x,y location is the pixel-position of the window's top-left corner, downward & rightward of the top-left monitor corner (unlike Matlab which measures upward from bottom-left, Java measures downward from top-left).
Yair Altman
  3 commentaires
Yair Altman
Yair Altman le 24 Jan 2019
You need to let the new window fully render before retrieving its window handle. You do this with a drawnow and/or pause command. I edited my answer above to reflect this. You can modify the pause duration [or perhaps even eliminate the pause altogether) to suit your specific platform.
Yair Altman

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Performance dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by