Swing组件为什么无法显示出来?
importjavax.swing.*;publicclassBookFrameextendsJFrame{publicJButtonAdd,Modify;publicJ...
import javax.swing.*;
public class BookFrame extends JFrame {
public JButton Add, Modify;
public JComboBox Delete, Find, Sort;
public BookFrame() {
super(" ");
Find = new JComboBox();
Find.setModel(new DefaultComboBoxModel(new String[] { "按作者查找", "按价格查找",
"按分类查找", "按出版社查找", "按书籍名查找" }));
Sort = new JComboBox();
Sort.setModel(new DefaultComboBoxModel(new String[] { "按价格排序", "按作者排序",
"按分类排序", "按购进日期排序", "按书籍名排序", "按出版社" }));
Delete = new JComboBox();
Delete.setModel(new DefaultComboBoxModel(new String[] { "按价格排序",
"按作者排序", "按分类排序", "按购进日期排序", "按书籍名排序", "按出版社" }));
Add = new JButton("添加");
Modify = new JButton("修改");
JPanel jp = new JPanel();
//jp.setLayout(new FlowLayout());
jp.setLayout(null);
jp.add(Modify);
jp.add(Find);
jp.add(Sort);
jp.add(Add);
JLabel test = new JLabel("aaaaaaaaaaaaaaaaaaaaa");
jp.add(test);
//Add.setBounds(50, 20, 10, 0);
//Modify.setBounds(50, 20, 50, 0);
//Sort.setBounds(50, 20, 90, 0);
//Delete.setBounds(50, 20, 140, 0);
//jp.setVisible(true);
this.add(jp);
this.setSize(500,500);
//jp.setVisible(true);
// jp.validate();
this.setVisible(true);
this.validate();
//BookName.setBounds(50, 10, 75, 25);
}
public static void main(String[] args){
new BookFrame();
}
} 展开
public class BookFrame extends JFrame {
public JButton Add, Modify;
public JComboBox Delete, Find, Sort;
public BookFrame() {
super(" ");
Find = new JComboBox();
Find.setModel(new DefaultComboBoxModel(new String[] { "按作者查找", "按价格查找",
"按分类查找", "按出版社查找", "按书籍名查找" }));
Sort = new JComboBox();
Sort.setModel(new DefaultComboBoxModel(new String[] { "按价格排序", "按作者排序",
"按分类排序", "按购进日期排序", "按书籍名排序", "按出版社" }));
Delete = new JComboBox();
Delete.setModel(new DefaultComboBoxModel(new String[] { "按价格排序",
"按作者排序", "按分类排序", "按购进日期排序", "按书籍名排序", "按出版社" }));
Add = new JButton("添加");
Modify = new JButton("修改");
JPanel jp = new JPanel();
//jp.setLayout(new FlowLayout());
jp.setLayout(null);
jp.add(Modify);
jp.add(Find);
jp.add(Sort);
jp.add(Add);
JLabel test = new JLabel("aaaaaaaaaaaaaaaaaaaaa");
jp.add(test);
//Add.setBounds(50, 20, 10, 0);
//Modify.setBounds(50, 20, 50, 0);
//Sort.setBounds(50, 20, 90, 0);
//Delete.setBounds(50, 20, 140, 0);
//jp.setVisible(true);
this.add(jp);
this.setSize(500,500);
//jp.setVisible(true);
// jp.validate();
this.setVisible(true);
this.validate();
//BookName.setBounds(50, 10, 75, 25);
}
public static void main(String[] args){
new BookFrame();
}
} 展开
2个回答
展开全部
frame.setVisible(true);
frame.setSize(400,200);
这两句放在main方法的最后面。就是放在 frame.setLayout(null);这句后面。
原因:你的组件都没有初始化完成,你就已经将frame显示出来,那肯定不会有组件显示出来,除非你动一下窗口,或者点下最大化,他才会刷新出来~~
呵呵,你试试吧,我这边测试通过
请参考
frame.setSize(400,200);
这两句放在main方法的最后面。就是放在 frame.setLayout(null);这句后面。
原因:你的组件都没有初始化完成,你就已经将frame显示出来,那肯定不会有组件显示出来,除非你动一下窗口,或者点下最大化,他才会刷新出来~~
呵呵,你试试吧,我这边测试通过
请参考
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询