当前位置: 首页 > 知识库问答 >
问题:

调整标签图标的大小

白阳煦
2023-03-14

我对C#背景的Java很陌生。我正在按照本教程向我的项目添加一个图像并在标签中显示。在C#中,我们使用Picture-box并设置image属性,在C#中,我还可以在设计时通过调整Picture-box的大小来调整Picture-box中的图像。

我已经按照教程将图像添加到一个标签,但现在的问题是图像相当大,我想重新调整大小。我试过调整标签的大小,但我的图像没有压缩或重新调整大小。

我该怎么做才能重新调整图像的大小?

编辑:

jLabel1 = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/me/musiconweb/resources/Music-icon.png"))); // NOI18N

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addContainerGap(40, Short.MAX_VALUE)
            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 273, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap())
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(58, 58, 58)
            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 265, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap(29, Short.MAX_VALUE))
    );

    pack();

共有1个答案

督劲
2023-03-14

请尝试以下操作:

改变

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/me/musiconweb/resources/Music-icon.png")));

BufferedImage img = null;
try {
    img = ImageIO.read(new File("/org/me/musiconweb/resources/Music-icon.png"));
} catch (IOException e) {
    e.printStackTrace();
}
BufferedImage dimg = img.getScaledInstance(label.width, label.height,
            Image.SCALE_SMOOTH);

jLabel1.setIcon(new javax.swing.ImageIcon(dimg));

希望能奏效。:)

另外,请考虑@MadProgrammer关于不使用GetScaledImage的讨论。但是,如果我处于您的位置,我会做增量阶段,首先尝试这种方法,如果这种方法可行,就继续使用Graphic.ScaleImage方法。

有关更多信息,请遵循调整图片大小以适应JLabel

 类似资料:
  • 当我将图像加载到标记的icon属性中时,它将以原始大小显示,而原始大小比应该的大得多。 我想把尺寸调整到标准尺寸,调整到更小的尺寸。做这件事最好的方法是什么? 代码:

  • 问题内容: 将矩形放在QGraphicsScene中并使其可以用鼠标移动后,如何用鼠标调整大小? 如果没有人知道答案,那么一个例子也可能很好,我正在使用PyQt4在Python中进行开发。 我知道这里有类似的问题,但它们分别没有回答我。 我的简化代码: 问题答案: 您将需要自己调整大小。要做到这一点,你需要继承和实现鼠标事件处理函数:,,。总体思路如下: 您创建了一组手柄,可用于调整形状的大小。

  • 我试图通过反复更改上的图标来创建一个动画(旋转文本)。问题是这些图像的大小不相同,当它们大于第一个图像的大小时,它们就会被裁剪。 解决这一问题的一种方法是为设置PreferredSize以便所有图像都适合--但我想一定有一种方法可以直接调整包含的的大小? 在下面的代码中,我还尝试将全部删除,创建一个新的jlabel,然后添加新的jlabel,但效果是一样的。 整个面板将在一个applet中使用。

  • 我刚开始使用JavaFX,问题是,在更改场景后,并非所有组件都被显示。例如,我有一个GridPane,它将被添加到边框中心,一个标签将被添加到边框底部。但是在我更改场景后,这个标签不会显示,只有在调整大小后才有效。 以下是一个简单的最小、完整和可验证的示例:

  • ripple_oval.xml 如何使按钮内部图标的大小与指南中描述的完全一致? http://www.google.com/design/spec/components/buttons.html#buttons-flowing-action-button

  • 我使用javafx绘制条形图和饼图。我需要: 更改条形图中x轴标签的字体大小 更改条形图标题的字体大小 更改饼图标题的字体大小 我正在使用的条形图 它仅更改xaxis上文本(单位)的字体大小,但不更改x轴标签 同样地,我正在使用 更改饼图中馅饼的标签。它确实会改变饼图标题的大小,但比例不一样。