相关疑难解决方法(0)

在半透明框架/面板/组件上重新涂漆.

我正在尝试在OSX上创建一个带有Java的半透明窗口并添加一个JLabel.

JLabel会每秒改变它的文字......

替代文字

然而,该组件不能很好地重新粉刷.

我怎么解决这个问题?

我找到了这些 文章,但我无法弄清楚如何解决它.

如果可能的话,请粘贴修复源代码,这是我的:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Color;
import java.awt.Font;
import java.util.Timer;
import java.util.TimerTask;

public class Translucent {
    public static void main( String [] args ) {

        JFrame frame = new JFrame();

        frame.setBackground( new Color( 0.0f,0.0f,0.0f,0.3f));

        final JLabel label =  new JLabel("Hola");
        label.setFont( new Font( label.getFont().getFamily(), Font.PLAIN, 46 ) );
        label.setForeground( Color.white );

        frame.add( label );
        frame.pack();
        frame.setLocationRelativeTo( null );
        frame.setVisible( true );

        Timer timer = new …
Run Code Online (Sandbox Code Playgroud)

java macos swing awt paint

15
推荐指数
1
解决办法
2万
查看次数

用Java将文本写入图像

是否有Java库可以将文本写入图像,与PHP的GD库相同.

java image-manipulation

14
推荐指数
3
解决办法
4万
查看次数

Toolkit.getDefaultToolkit().createImage()vs ImageIO.read()

我正在使用Swing创建一个UI,我想在一个图像中显示一个图像JLabel.我使用的代码如下:

 JLabel label = new JLabel(new ImageIcon(ImageIO.read(new File("img.jpg"))));
Run Code Online (Sandbox Code Playgroud)

如果我使用png图像,这可以正常工作,但是当涉及到jpg(只有其中一些)时,我得到一个红色图像(与我在Paint.NET中看到的图像不同).我使用的图像是这个:img.jpg

所以我试过(作为替代方案):

Toolkit.getDefaultToolkit().createImage(new File("img.jpg").getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)
  1. 有谁知道为什么会这样?它JPEG是不受支持的特殊格式吗?
  2. 我在这个论坛上看到,大多数人都建议使用ImageIO(例如这里).为什么?

非常感谢

java swing jpeg image javax.imageio

8
推荐指数
2
解决办法
7603
查看次数

如何在JLabel上绘图?

我想使用2D Java API在已经有图像的JLabel上绘制,然后保存生成的编辑图片.

我找不到关于这个特定主题的任何教程,是否有人有任何代码或参考资料显示如何做到这一点?

java graphics swing jlabel java-2d

5
推荐指数
2
解决办法
1万
查看次数

JFreeChart:如何将多个图表放入复合图表中

在JFreeChart中有一个复合图表的概念.

我需要在排列的网格中布局几个图表.

网格中的每个图表都需要有自己独立的标题.

我希望能够将此复合图表保存到png文件中

我会得到一个代码片段,解释如何执行此操作.

java jfreechart

5
推荐指数
1
解决办法
3326
查看次数

在Java中渲染图像中的文本

有没有很好的库来为Java中的图像渲染文本?

Java有一个2d文本库,http://java.sun.com/docs/books/tutorial/2d/text/index.html但不确定是否有更好的库可供使用.

java image-processing java-2d

4
推荐指数
2
解决办法
3443
查看次数

保存jpg图像时,Java 1.5.0_16损坏了颜色

我有一个从磁盘加载的图像(存储为a BufferedImage),我在a上正确显示JPanel但是当我尝试使用下面的命令重新保存此图像时,图像以红色调保存.

ImageIO.write(image, "jpg", fileName);
Run Code Online (Sandbox Code Playgroud)

注意!image是a BufferedImage,fileNameFile指向将以" .jpg" 结尾保存的文件名的对象.

我已经读过ImageIO早期JDK中的方法存在问题,但就我所能找到的那样,我不在其中一个版本上.我正在寻找的是一种解决这个问题而无需更新JDK的方法,但是我已经说过我仍然想知道这个问题在JDK中修复了什么(如果它确实仍然是我正在使用的JDK的一个bug ).

谢谢.

java image-processing javax.imageio

4
推荐指数
1
解决办法
1351
查看次数

java抽象直接图像

可能重复:
使用Graphics2D覆盖BufferedImage上的文本并返回BufferedImage

我的问题是如何永久地将一个字符串绘制到图像.

当我绘制字符串然后刷新图像时,字符串在显示屏上消失.

java swing image

3
推荐指数
1
解决办法
1468
查看次数

使用Java创建多页Tiff

我对拍摄tif图像感兴趣,并在其中添加了一个包含Java文本的图层,如果可能的话,最好使用十二个猴子图像库。

我可以从此处调整代码以将文本添加到tif或仅使用文本创建相同大小的新tif,但不能将它们另存为多页tif。例如:

import javax.imageio.*;
import javax.imageio.stream.ImageOutputStream;
import java.awt.*;
import java.awt.image.*;
import java.io.*;

public class ImageUtil {

public static void main(String[] args) throws Exception {

    BufferedImage src = ImageIO.read(new File("/path/to/main.tif"));
    BufferedImage text = createTextLayer(src);
    BufferedImage[] images = new BufferedImage[]{src, text};
    createMultiPage(images);

}

private static BufferedImage createTextLayer(BufferedImage src) {
    int w = src.getWidth();
    int h = src.getHeight();
    BufferedImage img = new BufferedImage(
            w, h, BufferedImage.TYPE_INT_ARGB);

    Graphics2D g2d = img.createGraphics();
    g2d.drawImage(img, 0, 0, null);

    g2d.setPaint(Color.red);
    g2d.setFont(new Font("Serif", Font.BOLD, 200));
    String s …
Run Code Online (Sandbox Code Playgroud)

java tiff javax.imageio twelvemonkeys

3
推荐指数
1
解决办法
4940
查看次数

JTable列中的对齐日期部分以propotional字体格式化

我需要使日期部分(dd,MMMM,yyyy)垂直对齐.我在日期格式的固定长度的月份和日期问了一个问题插入填充字母,但我发现它在比例字体的情况下没有帮助(字母的宽度不同).例如,使用Lucida Fax字体:

在此输入图像描述
为不同的日期部件制作不同的标签正在考虑中,但它太手动了.如果列宽很小,很难将文本包裹起来....
谢谢

java swing jtable date-format tablecellrenderer

1
推荐指数
1
解决办法
1021
查看次数

JDialog不尊重子组件的维度

我有一个通常有效的设置,但我现在发现它有点痛苦.

我有一个JDialog(以前是一个JFrame,但我最近更改了UI流程以删除冗余JFrames)设置为BorderLayout,其中包含三个主要JPanels,标题,内容和页脚.

标题JPanel有一个正常加载的背景图像.但是,我正在调用setMinimumSize/ setPreferredSize/ etc的各种方式(我甚至试过setSize并且setBounds绝望了)并且JPanel没有正确调整大小.该组件的布局是BoxLayout,并且孩子们可以舒适地坐在其中,但这不应该影响我正在尝试使用标题面板本身.

唯一有效的方法是在父级上设置大小JDialog.但我不想这样做/从我所看到的看起来像是糟糕的设计.我还需要计算所有孩子的潜在宽度/高度,添加边距等.

建议我不是在寻找:"使用不同的LayoutManager."

了解是否有原因导致子组件不受尊重.

我可以提供代码,但是考虑到我正在处理的互锁系统的数量,隔离一个小的,可运行的段很困难.这是设置大小的相关代码段JPanel.图像尺寸为480*96.

public JPanelThemed(BufferedImage image) {
    super();
    this.backgroundImage = image;
    setAllSimilarConstraints(new Dimension(image.getWidth(), image.getHeight()));
    setOpaque(false);
}

// for use with BoxLayout as it requires explicit bounds to be set
public void setAllSimilarConstraints(Dimension dim) {
    setPreferredSize(dim);
    setMinimumSize(dim);
    setMaximumSize(dim);
}
Run Code Online (Sandbox Code Playgroud)

java swing jdialog

-2
推荐指数
1
解决办法
110
查看次数