【问题标题】:Display data in JTextField from JComboBox从 JComboBox 在 JTextField 中显示数据
【发布时间】:2013-02-04 23:40:30
【问题描述】:

我想要从 JComboBox 获取值并将其显示在 JTextField 中的 swing 代码,并且 通过检查 JCheckBox 将焦点设置为 JTextField。 最初 JTextField 应该是空的。当检查JCheckBox时,jCombobox在JTextfield中的所选项目。

【问题讨论】:

    标签: java swing jtextfield jcombobox


    【解决方案1】:

    示例代码:

    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JCheckBox;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    public class Sample {
    
        public static void main(String[] args) {
            JFrame frame = new JFrame( "ComboBox Example" );
            frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
            JCheckBox checkBox = new JCheckBox( "Display Selecte Item" );
            final JTextField text = new JTextField( "" );
            text.setEditable( false );
            final JComboBox combo = new JComboBox( new String[] { "Item 1", "Item 2", "Item 3", "Item 4" } );
            checkBox.addActionListener( new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    JCheckBox check = ( JCheckBox ) e.getSource();
                    if( check.isSelected() ) {
                        Object obj = combo.getSelectedItem();
                        text.setEditable( true );
                        text.requestFocus();
                        text.setText(  obj == null ? "No Item Selected" : obj.toString() );
                    }
                }
            } );
    
            JPanel panel = new JPanel();
            panel.setLayout( new GridLayout( 3,2 ) );
            panel.add( new JLabel( " Select Item:" ) );
            panel.add( combo );
            panel.add( checkBox );
            panel.add( new JLabel( "" ) );
            panel.add( new JLabel( "Selected Item" ) );
            panel.add( text );
    
            frame.add( panel );
            frame.pack();;
            frame.setVisible( true);
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2018-04-16
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-17
      • 2015-12-24
      相关资源
      最近更新 更多