我正在将游戏作为练习项目。首次加载时,系统会提示用户登录或创建新播放器。如果用户选择创建新玩家,我想要发生的是新玩家创建表单(主游戏板是JDesktopPane
,理想情况下,它将在{{ 1}}在它的顶层),其他一切都暂停,直到用户填写并提交此表单。
由于游戏中的其他用户输入任务是使用JPanel
完成的,我认为这可能会起作用,因为我正在寻找一个像模态对话框一样的JOptionPane.showInternalOptionDialog
。但是,我想要一些没有标题栏或关闭JPanel
的东西,只需要确定和取消按钮。有没有办法显示没有这些的内部对话?或者其他一些让button
行为像模态对话的方式?
答案 0 :(得分:3)
您可以使用JDialog类
这是一个例子,试着激发它:
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class BDialog extends JDialog {
private JButton okBtn = new JButton("OK");
private JButton cancelBtn = new JButton("Cancel");
private JLabel messageLbl = new JLabel("This is a message");
public BDialog() {
super(new JFrame(), true);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
setUndecorated(true);
setLayout(new FlowLayout(FlowLayout.CENTER));
add(messageLbl);
add(okBtn);
add(cancelBtn);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new BDialog();
}
}
如果这有助于你解决它,请
答案 1 :(得分:0)
只需使用JFrame
并使用setUndecorated
方法
JFrame myFrame = new JFrame("My Frame");
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
myFrame.setBounds(10, 10, 300, 100);
myFrame.setUndecorated(true);
然后你可以添加一个面板来保存按钮