Die*_*ego 0 java macos user-interface
我刚刚开始编写GUI程序,这是我的第二个.对于这两个项目(两个家庭作业),我遇到了同样的问题.在我调整窗口大小或将键盘焦点移动到它们之前,GUI对象(例如JTextField)不会在应用程序运行时显示.如果我不做这两件事之一,那么我将只有一个空的应用程序窗口.
任何想法为什么会发生这种情况以及我能做些什么来解决它?我正在使用Mac OS 10.6.1.
我的代码如下.请随意评论我的编码风格,但请关注我遇到的问题.
import javax.swing.*;
import java.awt.*;
public class ToDo extends JFrame {
private int height = 30,
width = 300;
public ToDo() {
this.setSize(400,400);
this.setVisible(true);
this.setLayout(null);
this.setResizable(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("To Do List");
JTextField todoItem[] = new JTextField [10];
Container contentpane = this.getContentPane();
contentpane.setLayout(null);
for(int i=0; i<10; i++) {
todoItem[i] = new JTextField();
todoItem[i].setBounds(10,(height*(i)+10),width,height);
contentpane.add(todoItem[i]);
}
}
public static void main(String[] args) {
new ToDo();
}
}
Run Code Online (Sandbox Code Playgroud)
您必须在组件可见之前添加元素.
把它作为你的最后一行:
this.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
替代文字http://img10.imageshack.us/img10/8210/capturadepantalla200911s.png
这不是OSX相关的,它也发生在Windows中.
| 归档时间: |
|
| 查看次数: |
3595 次 |
| 最近记录: |