2012-06-09 2 views
-1

Я хотел бы спросить вас, как я могу вставить JPanel в JOptionPane и позже получить всю информацию из этих JTextFields. Например, у меня есть STH как тоВставка JPanel в JOptionPane и получение данных

JPanel jp = new JPanel(); 
jp.setLayout(new GridLayout(0,1); 
JPanel up = new JPanel(); 
JPanel down = new JPanel(); 
jp.add(up);jp.add(down); 
JTextField jt1 = mew TextField("habababa1"); jt2 = new JTextField("habababa2"); 
JRadioButton jrb1 = new JRadioButton("JRB1"); 
up.add(jt1);down.add(jt2); down.add(jrb1); 

Как получить данные из RadioButton и т.д.? После того, как я нажму ОК.

+0

Пожалуйста, посмотрите на мой ответ на подобный вопрос [здесь] (http://stackoverflow.com/questions/9952442/how-do-you-return-a- стоимость от-в-Java-свинг-оконные замыкается-с-а-кнопку/9952457 # 9952457). –

+0

Мне нужна общая идея, а не точный код. – Yoda

+0

Спасибо Hovecraft, но, к сожалению, это не так, как нужно. Мне нужна JOptionPane. – Yoda

ответ

2

Вам необходимо реализовать листер событий. Вот отрывок из http://www.java2s.com/Tutorial/Java/0240__Swing/ListeningtoJRadioButtonEventswithaChangeListener.htm:

import java.awt.GridLayout; 

import javax.swing.AbstractButton; 
import javax.swing.ButtonGroup; 
import javax.swing.ButtonModel; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JRadioButton; 
import javax.swing.event.ChangeEvent; 
import javax.swing.event.ChangeListener; 

public class JRadioButtonChangeListener { 
  public static void main(String args[]) { 
    JFrame frame = new JFrame("Grouping Example"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    JPanel panel = new JPanel(new GridLayout(0, 1)); 

    ButtonGroup group = new ButtonGroup(); 
    JRadioButton aRadioButton = new JRadioButton("A"); 
    JRadioButton bRadioButton = new JRadioButton("B"); 

    ChangeListener changeListener = new ChangeListener() { 
      public void stateChanged(ChangeEvent changEvent) { 
        AbstractButton aButton = (AbstractButton)changEvent.getSource(); 
        ButtonModel aModel = aButton.getModel(); 
        boolean armed = aModel.isArmed(); 
        boolean pressed = aModel.isPressed(); 
        boolean selected = aModel.isSelected(); 
        System.out.println("Changed: " + armed + "/" + pressed + "/" + 
          selected); 
      } 
    }; 

    panel.add(aRadioButton); 
    group.add(aRadioButton); 
    panel.add(bRadioButton); 
    group.add(bRadioButton); 

    aRadioButton.addChangeListener(changeListener); 
    bRadioButton.addChangeListener(changeListener); 

    frame.add(panel); 
    frame.setSize(300, 200); 
    frame.setVisible(true); 
  } 
   
} 
+0

Я надеюсь, что вы планируете переформатировать этот ответ ... – user1329572

+1

извините. Я ответил, что с моего iPhone, где функции форматирования не существуют. Я исправлю это сейчас. –

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