草庐IT

java - 在 java 中,如何将 java.awt.image.BufferedImage 写入 8 位 png 文件?

我正在尝试从java.awt.image.BufferedImage中写出一个png文件。一切正常,但生成的png是一个32位文件。有没有办法使png文件成为8位?该图像是灰度图像,但我确实需要透明度,因为这是一张叠加图像。我使用的是java6,我更愿意返回一个OutputStream,这样我就可以让调用类处理将文件写出到磁盘/数据库的问题。这是代码的相关部分:publicstaticByteArrayOutputStreamcreateImage(InputStreamoriginalStream)throwsIOException{ByteArrayOutputStreamoStr

java - java.awt 的 Dimension 类中的方法返回类型

我很惊讶地看到height和width成员的getter有return类型double,尽管他们是int。此外,带有双参数的setSize方法定义如下:/***SetsthesizeofthisDimensionobjectto*thespecifiedwidthandheightindoubleprecision.*Notethatifwidthorheight*arelargerthanInteger.MAX_VALUE,theywill*beresettoInteger.MAX_VALUE.**@paramwidththenewwidthfortheDimensionobject

Java:使用剪贴板在同一应用程序的不同实例之间复制粘贴 Java 对象

我正在尝试在同一应用程序的不同实例之间实现对象的复制粘贴。目前它仅适用于一个应用程序(我的意思是,在同一应用程序实例中复制和粘贴),但在不同实例之间不起作用。复制代码://MyObjectisaclassofobjectsIwanttocopy/paste;//MyObjectSelectionisaclassthatimpementsTransferableandClipboardOwnerinterfacesClipboardclipboard=Toolkit.getDefaultToolkit().getSystemClipboard();MyObjectdata=newMyOb

java - 如何在 Java 中检查启动时是否按下了键

我正在尝试编写一个在程序首次启动时弹出的分辨率选择对话框。为了防止用户感到无聊,我想实现一个相当标准的功能,您可以使用复选框关闭该对话框,但通过在启动时按住alt键将其恢复。不幸的是,没有明显的方法可以询问java给定的键是否当前正在按下。您只能通过KeyListener注册以获知新的按键操作,但如果按键操作在应用程序启动之前就开始了,那将无济于事。 最佳答案 importjava.awt.*;importjava.awt.event.*;importjavax.swing.JFrame;publicclassLockingKeyD

java - Alt+Tab 使用 Java 机器人

我正在尝试使用Java机器人调出alt+tab菜单。当我调用alt_tab()方法时,我想调出alt+tab菜单并保持菜单向上。我知道这可以使用alt+ctrl+tab来实现。到目前为止,我已经尝试了下面的代码,而且只是alt+tab没有控制键。我不确定为什么它不调出菜单。它所做的只是模拟按下alt键。publicvoidalt_tab(){Robotrobot=newRobot();robot.keyPress(KeyEvent.VK_ALT);robot.keyPress(KeyEvent.VK_CONTROL);robot.keyPress(KeyEvent.VK_TAB);ro

java - 为什么我的 UI 在浏览器中运行与在我的计算机 (Java Swing) 上运行时会丢失格式?

对于我的CSE205(Java编程2)类(class),我们必须设计一个非常简单的GUI小程序。我对Swing非常熟悉,之前在我自己的一些项目中使用过它。我设计的程序几乎没有问题,从Eclipse运行时它在我的计算机上看起来很完美:但是当我在线提交它时,它在浏览器中运行,UI变得严重困惑,返回到默认值:我已经习惯使用GridBagLayout,因为它很简单。这就是我在这里使用的。类CreatePanel和SelectPanel(如第一张图片所示)都扩展了JPanel(根据我的教授)。我设置每个使用:this.setLayout(newGridBagLayout());以及每个组件的组成

Java 在 swing/awt 中制作一个 'dot/pixel'

我想知道如何在我的JFrame上的某个x,y坐标处制作一个点/像素。有人知道一些简单的代码吗? 最佳答案 我创建了一个小示例程序:publicclassTestextendsJFrame{publicTest(){this.setPreferredSize(newDimension(400,400));this.pack();this.setVisible(true);this.setDefaultCloseOperation(EXIT_ON_CLOSE);}@Overridepublicvoidpaint(Graphicsg){s

Java Swing 文本编辑器

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:WhatcomponentsshouldIuseforbuildingaJavaWYSIWYGHTMLeditor我是Java编程的新手。我必须在Swing/AWT中做文本编辑器,对此我有一个疑问。我怎样才能编辑一个选定的词,例如改变它的颜色?我应该使用哪个组件和哪些功能?

java - 如何关闭带有线程的java框架

我有一个java框架,我想在3或4秒后自动关闭它。我发现我必须使用线程。但我不知道该怎么做,这是我代码的一个虚拟部分:packageintro;importjava.awt.*;importjava.io.IOException;//importview.LangMenu;publicclassIntroClassextendsFrame{privateint_screenWidth=0;privateint_screenHeight=0;privateint_screenCenterx=0;privateint_screenCentery=0;//privatestaticfinal

Java:将 java.awt.Color 转换为 javafx.scene.paint.Color

如何将一个转换为另一个?我想到了一种通过rgb字符串的方法,但这种情况下alpha层被忽略了。所以问题-如何使用alpha将一个转换为另一个? 最佳答案 从awtColor对象获取每个组件并使用javafx.scene.paint.Color.rgb(...)静态方法。请注意,awtColor有一个getAlpha()方法,它以0-255范围内的int形式返回alpha,而javafx.scene.paint.Color.rgb(...)期望alpha值为0.0-1.0范围内的double:java.awt.ColorawtColo