草庐IT

java - 检测屏幕上的鼠标移动

我创建了一个MouseMotionDetection类,它的作用只是检测用户是否将鼠标移动到屏幕上的任何位置。为此,我在我的类构造函数中创建了一个新的JFrame,其屏幕尺寸是不可见的,所以基本上我在整个屏幕上观察鼠标运动。但是,我有一个奇怪的错误:在代码的当前形式中,一旦这个类被激活,我只检测到一个鼠标Action,没有别的,它在那之后立即停止工作。但是,如果我把将帧背景设置为0f、0f、0f、0f(透明)的行放在评论中然后激活,整个屏幕就会变成灰色,我会按照我的需要继续跟踪所有鼠标Action(我可以什么都看不到)。我真的不明白为什么会这样,周围没有看到相关问题,也没有在这个相关j

java - 如何在使用 Java 邮件发送 html 电子邮件时嵌入多个图像

我正在尝试从javamail发送电子邮件。我正在嵌入图像并使用CID。但问题是如何在一条消息中嵌入多个图像。如果我尝试添加header..它只是采用最后设置的header。如何使用CID添加多个图像和引用。MimeMultipartmultipart=newMimeMultipart("related");//firstpart(thehtml)BodyPartmessageBodyPart=newMimeBodyPart();//BodyPartmessageBodyPart=newMimeBodyPart();StringhtmlText="Hello";htmlText+="";

java - SetVisible(false) 更改面板中组件的布局

当我将其中一个子面板设置为不可见时,如何使主面板中的子面板保持原样?我的样子:[(Panel1)(Panel2)(Panel3)(Panel4)]当我执行panel3.setVisible(false)时,它看起来像:[(Panel1)(Panel2)(Panel4)]我希望它看起来像:[(Panel1)(Panel2)(Panel4)]我正在使用GridBagLayout,我的mainPanel声明如下所示:finalJPanelpanel=newJPanel(newGridBagLayout());GridBagConstraintsc=newGridBagConstraints(

Java 通过单击按钮打开一个新窗口

我在电脑前坐了大约13个小时,我觉得我的眼睛在流血。我找到了一个我喜欢的小图形用户界面编辑器,叫做GuiGenie。它非常适合创建带有按钮和所有好东西的窗口。问题是我想在我的第一个菜单中单击一个按钮并让它打开我制作的其他菜单。我4周前才开始编程,所以我完全是个菜鸟。由于主要方法,我感觉它搞砸了,但我不知道,坐在这里尝试数百万种东西的13个小时让我发疯了:)这是我到目前为止得到的importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassMyPanelex

java - 为什么有些类在创建实例时不需要单词 "New"?

我是Java新手。让我感到困惑的一件事是为什么有些类需要new来实例化,而其他一些类不需要new来实例化。比如我在看log4j,它不需要new。//getaloggerinstancenamed"com.foo"Loggerlogger=Logger.getLogger("com.foo");logger.setLevel(Level.INFO);为什么其他一些类需要new?例如,一个Employee类:EmployeeX=newEmployee(John);X.getwork();等等等等为什么我们没有说Loggerlogger=newLogger(...);?以及为什么即使没有ne

java - Java BoxLayout中单个字符在Y轴上对齐偏心

在Java中,将某些字符沿y轴对齐到BoxLayout的中心似乎存在问题。我不知道是什么导致了这种情况,我已经创建了一个SSCCE来演示这种效果。在这个例子中,我只使用了字符“a”,并且我在每个JPanel的正中间画了一条线来展示每个案例离中心有多远。粗体文本的情况似乎排列得很好,但正常格式和斜体都严重偏离中心,尽管同时使用了setAlignmentX和setHorizo​​ntalAlignment。感谢任何帮助理解这种影响的帮助。如果我的特定计算机上的Java不知何故出现问题,这是我运行SSCCE时屏幕上显示的图像,它沿y轴加载三个带有BoxLayouts的不同JPanel,并放置

Java Swing : How to change GUI dynamically

我需要动态添加组件。此外,我需要动态更改布局。 最佳答案 作为引用,这里有一个sscce显示基本方法,validate().这个更详细example显示了两个要求:它更改布局并动态添加组件。importjava.awt.*;importjava.awt.event.ActionEvent;importjavax.swing.*;/**@seehttp://stackoverflow.com/questions/5750068*/publicclassDynamicLayoutextendsJPanel{privatestaticfi

java - 如何根据组合框选择更改 UI

在对话框中,如果某些组合被选中,我需要显示一组控件,否则显示另一组控件。IE。我需要2层,我需要在选中/取消选中组合时在它们之间切换。我该怎么做?谢谢 最佳答案 CardLayout如下所示,对此效果很好。importjava.awt.BorderLayout;importjava.awt.CardLayout;importjava.awt.Color;importjava.awt.Dimension;importjava.awt.EventQueue;importjava.awt.event.ActionEvent;importj

java - Collections.synchronizedMap(new LinkedHashMap());没有使 Map 线程安全

我正在使用以下构造来创建线程安全的Map。Collections.synchronizedMap(newLinkedHashMap());尽管我遇到了ConcurrentModificationException错误。 最佳答案 如果没有代码,很难猜测真正的问题是什么,但我的猜测是,您没有使用返回的集合来执行操作。根据javadocInordertoguaranteeserialaccess,itiscriticalthatallaccesstothebackingcollectionisaccomplishedthroughthe

java - 为了提高我的编程技能,我想关注 "learn a new language a year"。 2011 年我们可以学到什么

我想在2011年学习一门新的编程语言。我是一名java程序员,有不到一年的经验。我想学习一些真正新鲜和令人兴奋的东西,但与移动设备(iPhone、Android、iPad、Symbian)无关。 最佳答案 我建议你给Scala试试吧。它是一种运行在JVM上的语言,它在语法上非常像Java,因此您可以轻松上手。Python是另一个不错的选择。 关于java-为了提高我的编程技能,我想关注"learnanewlanguageayear"。2011年我们可以学到什么,我们在StackOverf