- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法找出为什么会出现以下问题:在使用“extends Frame
”创建窗口的程序中,我可以使用 BufferedImage 绘制到 Frame(而非 JFrame)的图形上下文,并且它看起来很好。但是,当我声明 JPanel
, 所有由 BufferedImage
绘制的文本变得模糊(不完全,但半透明且难以阅读),即使我不添加 JPanel
到 JFrame
.
这是代码的简化版本:
import java.awt.*;
import java.awt.event.*;
import javax.swing.Timer;
import java.awt.image.*;
import javax.swing.*;
public class MyProgram extends Frame {
static Frame f;
static Timer timer;
public static void main(String[] args) {
f = new Frame();
f.setSize(400, 200);
f.setResizable(false);
f.setVisible(true);
f.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
drawScreen();
}
});
drawScreen();
}
public static void drawScreen() {
BufferedImage off_i = new BufferedImage(f.getWidth(), f.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics g = off_i.createGraphics();
g.setColor(new Color(50, 50, 50));
g.drawString("Hit any key; why does this text change?", 15, f.getHeight() - 10);
Graphics off_g = f.getGraphics();
off_g.drawImage(off_i, 0, 0, null);
JPanel panel = new JPanel();
}
}
如果我添加了 JPanel
,我也许可以理解看到问题出现了到 JFrame
并且没有对其可见性设置任何限制,但甚至创建了 JPanel
给出了那个问题,这对我来说似乎很奇怪。
基本上,我在这里要做的是采用现有的程序,该程序在没有 JPanel
的情况下运行良好。 ,我想给它添加一个 JTextArea
这样我就可以接受复制/粘贴文本来修改程序的显示。
我对 Java 的理解有点参差不齐,因为我主要是出于兴趣而不是正式学习它,但我一直在努力学习更多知识。感谢您的帮助!
更新:我发现只有在声明 JPanel 之后再次调用 draw 函数时才会出现此问题,但我仍然不明白为什么会这样或如何绕过它。
最佳答案
关于java - JPanel 遮挡 BufferedImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6567906/
我无法找出为什么会出现以下问题:在使用“extends Frame”创建窗口的程序中,我可以使用 BufferedImage 绘制到 Frame(而非 JFrame)的图形上下文,并且它看起来很好。但
我找到了一些示例代码。 它通过AppDelegate.m中的代码显示 View - (BOOL)application:(UIApplication *)application didFinishLa
我在 Objective-C 应用程序中成功使用了 Core Plot。我正在用 Swift 编写一个新应用程序,但遇到了一些麻烦。在我为图表设置 dataSource 之前,坐标轴显示正确且符合预期
多年来我一直在尝试来自 KDE/MATE 的很棒的东西,我真的很喜欢它。在我之前的工作流程中,我真的只遗漏了一件事。 有时我会使用具有大量 float 窗口的应用程序。我发现在 float WM 中非
我创建了默认的底部导航项目。在其中一个 fragment 中,我添加了一个 ListView,效果很好。然后我将其更改为 RecyclerView,它被 BottomNavigationView 遮挡
让两个自定义 View 一起工作时,我遇到了一个非常烦人的问题。我试图在 android Activity 中显示这两个 View ,但其中一个占据了 Activity 的整个可视空间,另一个位于其下
我正在尝试在我的 UITableViewController 中使用 UIRefreshControl,它本身位于 UINavigationController 中,它有它的 hidesNavigat
我是一名优秀的程序员,十分优秀!