我正在制作简单的Java swing应用程序,并且某些按钮上的文本未显示。
其中一个JButtons带有文本“ Clear”,并显示其文本,但是我尝试将其他按钮的文本设置为“ Change Color”,“ Write”,“ c”,“ w”,但均未显示这个文字,甚至都不是“ ...”。
这部分(不是实际的)代码在扩展JFrame
的类的构造函数中:
/* JPanel */ panel = new JPanel();
/* JButton */ testButton1 = new JButton("Change Color");
/* JButton */ testButton2 = new JButton("c");
panel.add(testButton);
/* this. */ pack();
再次,这很奇怪,文本仅显示在一个按钮上,而该按钮的创建方式与其他按钮相同。
答案 0 :(得分:0)
我在这里建立一个例子。
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DisplayTest {
public static void main(String[] args) {
run(new Display(), 400, 300);
}
public static void run(JFrame jFrame,int width,int height) {
jFrame.setDefaultCloseOperation(Display.EXIT_ON_CLOSE);
jFrame.setSize(width, height);
jFrame.setVisible(true);
jFrame.setLayout(new FlowLayout());
}
}
class Display extends JFrame{
JPanel panel = new JPanel();
JButton testButton = new JButton("Change Color");
JButton clearButton = new JButton("clear");
public Display() {
add(testButton);
add(clearButton);
pack();
}
}
注意,BorderLayout将使后面的组件替换先前的组件,flowLayout将显示您添加的所有组件。