Java AWT集装箱布局
关于在JavaAWT程序中布局组件,我有一个非常简单的问题 我想要实现的是,将应用程序的背景设置为来自文件systenm的指定图像,并在UI上添加一个按钮 我所拥有的是Java AWT集装箱布局,java,awt,layout-manager,Java,Awt,Layout Manager,关于在JavaAWT程序中布局组件,我有一个非常简单的问题 我想要实现的是,将应用程序的背景设置为来自文件systenm的指定图像,并在UI上添加一个按钮 我所拥有的是 package javaapplication2; import java.awt.*; import java.awt.Container; import java.awt.Color; import java.awt.Font; import java.awt.Button; import java.util.HashSet
package javaapplication2;
import java.awt.*;
import java.awt.Container;
import java.awt.Color;
import java.awt.Font;
import java.awt.Button;
import java.util.HashSet;
public class JavaApplication2 extends Frame {
private Container gui;
private Button b;
public JavaApplication2() {
setSize(400,400); // set size to 400x400
gui = new Container() { // my own container that may write string (or draw image in the future)
public void paint(Graphics g) {
super.paint(g);
g.setFont(new Font(null, Font.PLAIN, 48));
g.setColor(new Color(10,10,10));
g.fillRect(20, 20, getWidth()-40, getHeight()-40);
g.setColor(new Color(24, 89, 245));
g.drawString("hello", 200,200);
}
};
// create a button
b = new Button("bu");
// add the button into the container?
gui.add(b);
b.setVisible(true);
// add gui into the root container
add(gui);
gui.setSize(400, 400);
//gui.setVisible(true);
validate();
}
public static void main(String[] args) {
// TODO code application logic heren
JavaApplication2 a = new JavaApplication2();
a.setVisible(true);
}
}
然后当我运行它时,我能看到的只有黑色背景色10,10,10和文本hello。我猜这是因为虽然b被添加到容器中,但是油漆被调用,所以整个容器都被油漆了,所以我看不到按钮
我想应该有一些简单的解决办法,希望有人能帮我。g.fillRect20,20,getWidth-40,getHeight-40;正在孩子们头顶上画画。您使用AWT有什么原因吗?谢谢。实际上,我正在学习使用BD-J进行编码,BD-J基于Java ME之上的MHP。只有4个awt类可用。这段代码来自MHP的一个示例。我试着用面板代替容器,然后得到了我想要的。但awt.面板在MHP中不可用。所以我会尝试其他方法。无论如何,谢谢。因为t组件并没有真正的背景概念,所以您可能会发现这非常困难。。。。