2015-05-28 1 views
0

Как использовать JButton, чтобы открыть окно ввода, где я мог бы вставлять текст и, возможно, включать еще одну кнопку в этом мини-окне? должен ли я создать новый класс или я могу создать его в классе, который у меня уже есть?Как открыть небольшое поле ввода на eclipse с помощью JButton

извините, если я не сбиваю с толку?

Заранее спасибо

ответ

2

Вы можете использовать JOptionPane. Используйте кнопку listener для кнопки и проверьте, когда нажимается кнопка. Если щелкнуть, то откройте JOptionPane.

Вот пример:

JButton showDialogButton = new JButton("Text Button"); 
showDialogButton.addActionListener(new ActionListener() 
{ 
    public void actionPerformed(ActionEvent e) 
    { 
    String name = JOptionPane.showInputDialog(frame, "What's your name?");//Note: input can be null. 
    } 
}); 

Если это не работает для вас, взгляните на JDialog класса или tutorials.

+0

Большое спасибо за помощь. У меня теперь есть дополнительная проблема, у меня есть следующий код -> JOptionPane.showInputDialog (""); как бы я получил кнопку ok, чтобы выполнить действие, для которого у меня есть код? –

1

Теперь в родительском фрейме, когда вы нажмете «Нажмите, чтобы показать диалог», появится диалоговое окно.

package experiments; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JOptionPane; 

public class CreateDialogFromOptionPane { 

    public static void main(final String[] args) { 
     final JFrame parent = new JFrame(); 
     JButton button = new JButton(); 

     button.setText("Click me to show dialog!"); 
     parent.add(button); 
     parent.pack(); 
     parent.setVisible(true); 

     button.addActionListener(new java.awt.event.ActionListener() { 
      @Override 
      public void actionPerformed(java.awt.event.ActionEvent evt) { 
       String name = JOptionPane.showInputDialog(parent, 
         "What is your name?", null); 
      } 
     }); 
    } 
} 
+0

Спасибо за помощь! –

0

Это зависит от того, что вы хотите, чтобы другая кнопка была в мини-окне. Если вы просто хотите вставить текст и вернуть этот текст с помощью кнопки OK, вы можете вызвать JOptionPane.showInputDialog() из прослушивателя действий вашей исходной кнопки. Если вам нужна функциональность, выходящая за рамки этого, вы должны создать собственный класс, который расширяет JDialog и добавляет элементы управления и функциональные возможности, которые вам нужны.

+0

Спасибо за помощь! –

Смежные вопросы