【发布时间】:2019-11-04 02:50:26
【问题描述】:
我的问题是,即使我使用 setVisible(true) 将按钮可见属性设置为“true”,但按钮仍然不可见。当我检查按钮时 isVisible 显示为 true,但按钮不存在
我添加了让系统打印出来的东西,在非常重要的代码行和setVisible之后的消息也打印出来之后。
public void buttonarrays(){
inGame = new JButton();
inGame.setVisible(true);
inventory = new JButton();
inventory.setVisible(false);
add(inGame);
add(inventory);
inGame.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(true){
switch(0) {
case 0:
inventory.setVisible(true);
inGame.setVisible(false);
break;
}
}
}
});
}
我尽量减少它,希望你仍然明白我的意思
【问题讨论】:
-
嗯,您的按钮既没有任何文本也没有图标,因此取决于容器的布局管理器,它可能会非常小。说到布局管理器:你的班级使用哪一个?该方法是什么类型的组件(
add(inGame)表示您的类扩展了一些容器组件)?您是否将容器添加到框架/窗口(可能带有中间容器)?那些使用什么布局? -
提示:你不能通过做实验来学习摇摆/awt。这些框架需要一定程度的知识才能为您做一些有用的事情。只是想一些基于“嗯,这可能工作”的代码,请放心:它不会工作。相反:买一本好书,或者简单的 oracle 教程 (docs.oracle.com/javase/tutorial/uiswing/index.html) 并阅读/使用 working 示例代码。你在这里做什么......老实说,汇集了一些想法:你正在浪费你的时间和精力。
-
它有一个图标,我只是把它拿出来,所以你的代码更少
标签: java swing awt jbutton visible