我没有使用GUI的经验,所以我只是在徘徊,疯狂地试图解决问题。我现在拥有的是当我按下I按钮时,另一个窗口弹出一个带有名称的组合框和一个关闭窗口的按钮,并将所选择的选项发送回主窗口。 我似乎无法让窗口变得不可见或如何将信息发送回我的原始窗口(library_GUI)
JComboBox nameBox = new JComboBox(names.toArray());
contentPane.add(nameBox, BorderLayout.NORTH);
String nam = (String)nameBox.getSelectedItem();
JButton checkOutButton = new JButton("Check Out");
checkOutButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JFrame.setVisible(false);
}
答案 0 :(得分:1)
我为您制作了一个演示程序,检查它是否符合您的要求。
public class JDialogDemo
{
public JDialogDemo()
{
JFrame mainWindow = new JFrame("mainWindow");
mainWindow.setBounds(300, 300, 300, 300);
mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JDialog dlg = new JDialog(mainWindow, true);
dlg.setBounds(300, 300, 200, 100);
final JComboBox box = new JComboBox(new String[]{"A", "B"});
JButton okBtn = new JButton("Ok");
okBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
Object item = box.getSelectedItem();
System.out.println(item);
dlg.setVisible(false);
}
});
dlg.getContentPane().setLayout(new BorderLayout());
dlg.getContentPane().add(box, BorderLayout.NORTH);
dlg.getContentPane().add(okBtn, BorderLayout.CENTER);
JButton popupBtn = new JButton("Popup");
popupBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
dlg.setVisible(true);
}
});
mainWindow.getContentPane().add(popupBtn, BorderLayout.NORTH);
mainWindow.setVisible(true);
}
public static void main(String[] args)
{
new JDialogDemo();
}
}
祝你好运,玩得开心。