有几次我因为建议使用以下方法而受到批评:
在Swing组件上.当我想在显示的组件之间定义比例时,我没有看到任何替代它们的用法.我被告知这个:
对于布局,答案总是相同的:使用合适的LayoutManager
我在网上搜索了一下,但我没有找到任何关于这个主题的综合分析.所以我有以下问题:
是否有可能让一组图像成为gridlayout的"背景图像",其他图像是gridlayout的"内容"?
如果没有,最好的方法是什么?
这是我的代码:
String s = "/Applications/Asphalt6.app";
JFileChooser chooser = new JFileChooser();
File file = new File(s);
Icon icon = chooser.getIcon(file);
// show the icon
JLabel ficon = new JLabel(s, icon, SwingConstants.LEFT);
Run Code Online (Sandbox Code Playgroud)
现在,从图标中提取的图像非常小.我怎样才能调整它?
我正在编写一个应用程序,用户可以通过选择新颜色来更改屏幕上图像的颜色.我有一个简单的图像 - 只有40x40 - 像这样:

我尝试了很多东西:像素替换,ColorModel,RGBFilter等.我无法想象这个图像的东西.在尝试的过程中,我已经了解了BufferedImage,我可以将.png转换为该格式并显示在屏幕上.我可以使用像素替换将形状转换为实体颜色,但结果非常糟糕.
从我收集的内容来看,我想使用ColorModel或Filter,但我很难过.这是一个简单的应用程序,演示了我的位置.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class ChangeImageColor {
public static void main(String[] args) {
final ChangeColor cc = new ChangeColor();
java.awt.EventQueue.invokeLater( new Runnable() { @Override
public void run() { cc.setVisible( true ); }}
); // invokeLater
} // main
} // ChangeImageColor
class ChangeColor extends JFrame {
String CHAR_HEAD = "res/images/char/Head.png";
JLabel imageHead = new JLabel( new ImageIcon( CHAR_HEAD …Run Code Online (Sandbox Code Playgroud)