计算机屏幕拥有坐标系统,它被用来定义窗口的位置和尺寸。同样,Java中的可视化组件都有自己的一个坐标系,即以组件的左上角为原点,向下和向右分别为Y轴和X轴的正方向。我们可以将一个点求出其在不同坐标系下的值。通过下面的方法即可达到:SwingUtilitiesconvertPoint方法。在Component类中还有一个方法:contains
public boolean contains(Point p)
检查组件是否“包含”指定的点,其中该点的 x 和 y 坐标是相对于此组件的坐标系定义的值得注意的是所制定包含的点是相对于该组件的坐标系中定义的点。假若一个JButton是位于JFrame中,视觉上在JButton中的一个点,但是其值是相对于JFrame坐标系的,因此在数值上若将该点放到JButton坐标系中,则他可能不位于JButton中了。
右键菜单JPopupMenu使用要领:
首先定义一个JPopupMenu对象pop,然后添加需要的JMenuItem到pop中。
isPopupTrigger
public boolean isPopupTrigger(MouseEvent e)
如果 JPopupMenu 的当前安装 UI 将 MouseEvent 视为d出菜单触发器,则返回 true。
返回: 如果鼠标事件为d出菜单触发器,则返回 true
show
public void show(Component invoker, int x, int y)
在组件调用者的坐标空间中的位置 X、Y 显示d出菜单。
参数: invoker - d出菜单在其空间中显示的组件 x - 用于显示d出菜单的调用者的坐标空间中的 X 坐标 y - 用于显示d出菜单的调用者的坐标空间中的 Y 坐标
需要注意的是:哪个组件添加了该JPopupMenu,该pop就在哪个组件的坐标系中的范围上显示。假如你在一个JButton上添加了pop那么若pop比JButton要大的话,pop的一些菜单项可能显示不出来。一般我们将pop会添加到顶层的容器中。若要右键其中的组件就d出菜单时,则可以采用上面所说的方法:在组件中添加一个鼠标监听器,一般右键菜单是右键释放的时候触发,因此在mouseReleased方法中添加处理事件的程序。首先得到在组件坐标系下的鼠标点击的坐标点,再求出该坐标值在容器坐标系下对应的坐标点。并在容器中的该位置显示右键菜单即可
啥也不说了直接看代码
import java lang management ManagementFactory;
import sun management OperatingSystemMXBean;
public class Test {
public static void main(String[] args) {
OperatingSystemMXBean o b = (OperatingSystemMXBean) ManagementFactory getOperatingSystemMXBean();
System out println( 系统物理内存总计 + o b getTotalPhysicalMemorySize() / / + MB );
System out println( 系统物理可用内存总计 + o b getFreePhysicalMemorySize() / / + MB );
}
}
ManagementFactory getOperatingSystemMXBean()返回的是java lang management里面的OperatingSystemMXBean
我们要用的是 sun management OperatingSystemMXBean;
在java类库中可以查到
public abstract Interface sun management OperatingSystemMXBean extends java lang management OperatingSystemMXBean
所以我们可以强制转换一下
jdk 下的磁盘使用情况例子:
import java io File;
/
jdk 下的磁盘使用情况例子
/
public class Diskfree {
public static void main(String[] args) {
File[] roots = File listRoots();//获取磁盘分区列表
for (File file : roots) {
System out println(file getPath() + 信息如下: );
System out println( 空闲未使用 = + file getFreeSpace() / / / + G );//空闲空间
System out println( 已经使用 = + file getUsableSpace() / / / + G );//可用空间
System out println( 总容量 = + file getTotalSpace() / / / + G );//总空间
System out println();
}
}
lishixinzhi/Article/program/Java/hx/201311/26599
java不适合做这些!
1,windows平台使用window api获取(微软那一套)
2,linux平台使用c++,c语言之类,调用配置文件或是shell,或者自己实现来读取
3,需找java开源包来实现,如sigar
以上就是关于在java中在上下文的坐标系统什么意思全部的内容,包括:在java中在上下文的坐标系统什么意思、java获得当前系统内存及硬盘使用情况、java 获取系统参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)