我正在研究libGDX(LWJGL之上的库)游戏项目,并从几个不同的工作站使用Intellij IDEA IDE: 带有两个显示器(1920×1080和1600×1200)的Windows 7 x64笔记本电脑,nVidia GT540M。 英特尔集成显卡(1366×768)的笔记本电脑上的Ubuntu 12.04 LTS。 带有两个显示器(1920×1080和1280×1024)的桌面上的Ubuntu 12.04 LTS,nVidia GTS 450。 我在Ubuntu盒子上使用OpenJDK for Java 6,在Windows上使用Sun / Oracle Java 6(我听说Java 6是用于Android兼容性的)。 全屏运行时: Windows 7笔记本电脑:工作正常。 Ubuntu笔记本电脑:工作正常。 Ubuntu桌面:背景图像放大显示,只有一部分适合在屏幕上。 + 进一步看,我看到Gdx.graphics.getHeight()和Gdx.graphics.getWidth()的调用返回需要覆盖这两个显示矩形的大小,在我的情况下是3200×1080,但是当我告诉我的游戏运行全屏,它只使用其中一个显示器,所以相机设置为1920×1080,但我的相机移动和平铺地图平移认为他们有3200×1080的工作,使事情扭曲和无法使用(因为angular色可以走开屏幕右侧)。 我猜我的问题实际上来自awt.Toolkit的getScreenSize()调用所返回的大小,但是我不知道如何更深入地询问它,以获得当我全屏时实际使用的屏幕大小。 我的DesktopStarter获取屏幕大小并设置全屏,如下所示: LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration(); Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); cfg.width = screenDimension.width; cfg.height = screenDimension.height; cfg.fullscreen = true; new LwjglApplication(new Game1(), cfg); […]
根据WindowStartupLocation属性的MSDN文档: 设置CenterScreen会使窗口位于包含鼠标光标的屏幕中央。 虽然CenterScreen字段的MSDN文档本身将其定义为: 窗口的启动位置是打开窗口的中心。 一个简单的testing显示这个工作应该是这样的: MainWindow.xaml <Window x:Class="CenterScreenTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Button Click="button_Click">Open Window</Button> </Window> MainWindow.xaml.cs using System.Windows; namespace CenterScreenTest { public partial class MainWindow { public MainWindow() { InitializeComponent(); } void button_Click(object sender, RoutedEventArgs e) { Window window = new Window(); window.WindowStartupLocation = WindowStartupLocation.CenterScreen; window.Show(); } } } 如果您在双显示器系统上进行testing,则可以看到当您单击button时,新窗口将居中在鼠标光标所在的屏幕上。 这正是它应该如何工作。 但是 ,如果您在显示窗口之前尝试将窗口设置为最大化,那么新窗口只会在启动应用程序的显示器上最大化。 将button_Click事件处理程序更改为以下内容以查看我的意思: void button_Click(object […]
我刚刚在运行64位Ubuntu 10.04的机器上安装了IntelliJ 9.0.2。 我怎样才能把另一个窗口放在我的第二个屏幕上? 我想同时在两个屏幕上都有一个编辑器和一些工具窗口。
像大多数开发者一样,我已经开始喜欢双显示器。 我不会为了他们的良善而进入所有的理由。 把它当成一个给定的。 但是,它们并不完美。 你永远不可能把他们排成一行“恰到好处”。 你总是以微弱的angular度结束显示器。 当然挡板总是挡在路上。 这是与相同的显示器。 不同显示器的问题更严重 – VMWare的多显示器function甚至不适用于不同分辨率的显示器。 当你使用多个监视器时,其中一个监视器成为你关注的主要监视器。 您的焦点可能会从一台显示器转到另一台显示器,但是在任何时候,您通常只关注一台显示器。 这个例外(WinDiff,Excel),但通常是这样的。 我build议拥有一台具有多个小显示器所有优点的大显示器将是更好的解决scheme。 宽屏显示器非常棒,但很难有效地利用所有的空间。 如果您正在编写代码,则通常在窗口的左侧进行操作。 如果您在宽屏显示器上最大化编辑器,窗口的右侧将是白色的海洋。 像WinSplit Revolution这样的程序将有助于组织你的窗口,但这只是解决症状,而不是问题。 即使使用WinSplit Revolution,当你最大化一个窗口,它将占用整个屏幕。 您无法将窗口locking到屏幕的特定部分。 这是虚拟显示器进来的地方。 真正好的是位于现有驱动程序之上的video驱动程序,但允许将单个显示器虚拟成多个显示器。 控制面板会将您的单个物理监视器看作两个或更多的虚拟监视器。 该软件甚至可以支持虚拟挡板强调正在发生的事情,或者您可以select无缝模式。 像WinSplit Revolution和UltraMon这样的程序仍然可以工作。 这个虚拟的video驱动程序将允许你切割和切割你的物理显示器到任意数量的虚拟显示器。 有人知道这样的软件是否存在? 如果不是的话,有没有任何出芽的Windows显示驱动器大师在那里愿意接受挑战? 我不是在无数可用的虚拟桌面/窗口pipe理器程序之后。 我对这些程序感到沮丧。 他们看起来很好,但他们通常有一些奇怪的行为,并不适合其他程序(如WinSplit Revolution)。 我想要真实的东西!
我使用的是Windows,而我有两台显示器。 有些应用程序将始终在我的主监视器上启动,无论我何时closures它们。 其他人总是从辅助监视器上开始,不pipe他们在什么时候closures它们。 有没有一个registry设置的地方,我可以操纵来控制哪些监视器应用程序默认启动? @rp:我有Ultramon,我同意微软应该买它并把它整合到他们的操作系统中是不可或缺的。 但正如你所说,它不会让你控制程序启动的默认监视器。
我找不到在两台显示器上放置Eclipse窗口的好方法。 目前,我只是分离(点击一个标题,拖动)几个窗口到辅助监视器(包资源pipe理器,控制台和轮廓),同时离开主显示器与最大化的源编辑窗口。 除了几个令人讨厌的问题之外,它工作得很好。 在编辑代码时,分离的窗口不是焦点。 这意味着,例如,上次构build快捷方式( Alt – Shift – X , Q )不起作用,因为它无法find构build文件(因为包浏览器不在焦点)。 另外,文件search菜单中的“选定的资源”选项不会选取当前的包select。 所以我想知道是脱离Windows正确的方式去? 你有没有更好的解决scheme,至less包探险者保持关注? 谢谢。 PS。 顺便说一句“无法find构build”错误开始出现在3.4 ver出于某种原因。
我试图在辅助监视器上设置Windows窗体,如下所示: private void button1_Click(object sender, EventArgs e) { MatrixView n = new MatrixView(); Screen[] screens = Screen.AllScreens; setFormLocation(n, screens[1]); n.Show(); } private void setFormLocation(Form form, Screen screen) { // first method Rectangle bounds = screen.Bounds; form.SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height); // second method //Point location = screen.Bounds.Location; //Size size = screen.Bounds.Size; //form.Left = location.X; //form.Top = […]