Tag: awt

如何分发AWTUtilities

我最近阅读了关于Pushing Pixels的博客文章,描述了如何使用纯Java实现原生透明度和半透明度。 所需的类驻留在com.sun.awt上,即com.sun.awt.AWTUtilities。 我想知道如何将所需的类(不仅仅是这个)包含到我的发行版中,因为只有安装了jdk并且通过那里启动jvm时类才可用。 因此,我的程序的用户将没有运行我的程序所需的类。 有任何想法吗?

绘制大麻曲线

灵感来自数学网站的大麻方程 (它指的是Wolfram Research Cannabis Curve ),我想知道..我们如何使用Java-2D绘制这条曲线?

布局键盘上的空格按钮大小不会resize

我正在开发一个包含键盘的打字应用程序但我发现有点难以重新调整空间按钮的大小,使其比其他按钮更宽..这是我显示和组织我的布局的方式.. 我可以调整整个按钮的大小,但它不是我想要的..整点就是调整空格键… 🙂 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Arrays; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class example extends JFrame { //Individual keyboard rows String firstRow[] = {“~”,”1″,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″,”0″,”-“,”+”,”BackSpace”}; String secondRow[] = {“Tab”,”Q”,”W”,”E”,”R”,”T”,”Y”,”U”,”I”,”O”,”P”,”[“,”]”,”\\”}; String thirdRow[] = {“Caps”,”A”,”S”,”D”,”F”,”G”,”H”,”J”,”K”,”L”,”:”,”\””,”Enter”}; String […]

鼠标运动监听器只在一个方向

我一直在研究Java中的鼠标运动监听器无法将其完全排序,因为我希望对象朝着鼠标所指向的屏幕方向移动但不幸的是当鼠标位于applet窗口内时,该对象只向单一方向移动。 这是我的代码如下.. import java.awt.*; import java.awt.geom.*; import java.util.*; import java.applet.*; import java.awt.event.*; import javax.swing.*; public class MouseOver extends Applet implements KeyListener, MouseListener, MouseMotionListener { private int[] Xpoints = { 0, -5, 5 }; private int[] Ypoints = { -10, -2, -2 }; private double xpos, ypos; private Polygon poly; int polyrot = 0; private int […]

MediaTracker – 如何使用它,有什么好处,还是有替代品?

在代码库中,我们inheritance了MediaTracker的用法总是在每个代码块中本地完成。 new MediaTracker(new Canvas()); mediatracker.addImage(i, 1); try { mediatracker.waitForAll(); } catch (InterruptedException e) { } mediatracker.removeImage(i); 决定这是低效的,我最终用静态实例和方法替换它: final static protected MediaTracker mediatracker = new MediaTracker(new Canvas()); static protected void checkImageIsReady(Image i) { mediatracker.addImage(i, 1); try { mediatracker.waitForAll(); } catch (InterruptedException e) { } mediatracker.removeImage(i); } 到目前为止,没有任何不良影响。 还有另一种可能的方法 – 将MediaTracker附加到每个组件(通常是Frame或JFrame),这强烈暗示构造函数文档采用的方法。 所以我有两个问题: 如何以及为何使用MediaTracker? 有什么选择?

在java中的Jframe上绘制简单的矩形

我正在扩展JFrame,如下所示: public GameFrame() { this.setBounds(30, 30, 500, 500); this.setDefaultCloseOperation(EXIT_ON_CLOSE); initializeSquares(); } private void initializeSquares(){ for(int i = 0; i < 5; i++){ this.getContentPane().add(new Square(i*10, i*10, 100, 100)); } this.setVisible(true); } 但是,屏幕上只绘制了一个正方形,有人知道为什么吗? 我的Square类看起来像这样: private int x; private int y; private int width; private int height; public Square(int x, int y, int width, int height){ this.x = […]

如何实现椭圆GradientPaint?

我们知道在Java中有一个名为RadialGradientPaint的类,我们可以使用它来为圆形绘制渐变画。 但是我想要一个椭圆形(椭圆形) GradientPaint 。 如何实现椭圆GradientPaint ?

如何使用java在整个屏幕上平滑移动鼠标?

有一个mouseMove()方法使指针跳转到该位置。 我希望能够让鼠标在整个屏幕上平滑移动。 我需要编写一个名为mouseGLide()的方法,该方法采用起始x,起始y,结束x,结束y,滑行应采取的总时间以及滑行期间要进行的步骤数。 它应该通过n步骤从(开始x,开始y)移动到(结束x,开始y)来为鼠标指针设置动画。 总滑行应该花费t毫秒。 我不知道怎么开始有人可以帮助我开始这个吗? 任何人都可以告诉我,为了使这个问题有效,我需要采取哪些步骤。

在JPanel中嵌入HWND(窗口句柄)

我试图在JPanel中嵌入一个HWND(窗口句柄)。 实际上,我可以将我的HWND嵌入到JFrame中,但嵌入式窗口总是停留在另一个组件的顶部,我无法移动它。 如果尝试删除我的JFrame的所有子组件,HWND会保留在那里。 HWND似乎是在JFrame之上绘制而不是作为孩子之一。 要将HWND嵌入到JPanel中,我使用User32到jna: User32.SetParent(iage.getRenderHwnd(), (int) getGUIHwnd(j)); 我使用它来获取我的JFrame的HWND: j.getPeer() != null ? ((WComponentPeer) j.getPeer()).getHWnd(): 0; 有没有办法将HWND嵌入到JPanel中或将其添加到其他组件中,以便我可以将其放置在我的UI中? 谢谢

无法在JRE 8中加载字体

我无法从JRE 8中的S3 Inputstream加载字体。如果系统安装了JRE 7,JDK 7甚至JDK 8,我就没有问题。 val fontInputStream = s3Client.getObject(bucketName, objectKey).getObjectContent val customFont = Font.createFont(Font.TRUETYPE_FONT, fontInputStream).deriveFont(Font.TRUETYPE_FONT, 20F) 我得到的错误是 Exception in thread “main” java.io.IOException: Problem reading font data. at java.awt.Font.createFont0(Font.java:1000) at java.awt.Font.createFont(Font.java:877) at Main$.delayedEndpoint$Main$1(Main.scala:31) at Main$delayedInit$body.apply(Main.scala:11) at scala.Function0$class.apply$mcV$sp(Function0.scala:40) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App$$anonfun$main$1.apply(App.scala:76) at scala.App$$anonfun$main$1.apply(App.scala:76) at scala.collection.immutable.List.foreach(List.scala:381) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35) at scala.App$class.main(App.scala:76) at Main$.main(Main.scala:11) at Main.main(Main.scala) 我试图将输入流加载到临时文件,但它没有帮助。 我还试图直接从本地文件加载字体,但我得到了与获取字体元数据不同的错误。 […]