How do I programmatically set the size of the the web browser window that is created with the MATLAB web command " web " ?
    7 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Christopher Stokely
      
 el 22 de En. de 2019
  
    
    
    
    
    Comentada: Jitender Gangwar
    
 el 27 de Nov. de 2020
            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!
0 comentarios
Respuesta aceptada
  Yair Altman
      
 el 23 de En. de 2019
        
      Editada: Yair Altman
      
 el 24 de En. de 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 comentarios
  Yair Altman
      
 el 24 de En. de 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
Más respuestas (0)
Ver también
Categorías
				Más información sobre Performance and Memory en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


