我想做一些画成一个大的BufferedImage
,然后在 aJFrame
和 a中显示JScrollPane
。我尝试了以下方法
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
public class FrameImage {
private static void createAndShowGUI() {
BufferedImage image;
Graphics bufG;
JFrame frame;
JPanel panel;
JLabel picLabel;
frame = new JFrame("FrameTest");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
image=new BufferedImage(400, 300, BufferedImage.TYPE_INT_ARGB);
bufG=image.createGraphics();
bufG.setColor(Color.red);
bufG.drawString("Testing",100,100);
panel = new JPanel();
panel.setBackground(Color.BLUE);
panel.setPreferredSize(new Dimension(1500, 1500));
panel.setLayout(null);
picLabel = new JLabel(new ImageIcon(image));
panel.add(picLabel);
frame.add(new JScrollPane(panel));
frame.setVisible(true);
frame.setSize(800, 500);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
但是文本“测试”没有出现在我的 JFrame 中。我在这里想念什么?