2011-08-05 12 views
5

मैं JComboBox छोड़ दिया करने के लिए और छोड़ दिया करने के लिए मैं निर्धारित किया है घटक उन्मुखीकरण सही से पाठ प्रस्तुत करना है और यह भी करने के लिए बदल के रूप में निम्नानुसार प्रस्तुत करना सही से गठबंधन किया जाना बताना चाहते हैं के लिए JCombobox प्रस्तुत:सही समस्या

import java.awt.Component; 
import java.awt.ComponentOrientation; 
import javax.swing.DefaultListCellRenderer; 
import javax.swing.JLabel; 
import javax.swing.JList; 
import javax.swing.SwingConstants; 

public class NewJFrame extends javax.swing.JFrame { 

    /** Creates new form NewJFrame */ 
    public NewJFrame() { 
     initComponents(); 
     jComboBox1.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);   
jComboBox1.setRenderer(new DefaultListCellRenderer() { 
    public Component getListCellRendererComponent(JList jList, Object o, 
    int i, boolean b, boolean b1) { 
    JLabel rendrlbl = (JLabel) super.getListCellRendererComponent(jList, o, i, b, b1); 
    rendrlbl.setHorizontalAlignment(SwingConstants.RIGHT); 
    return rendrlbl; 
    } 
    }); 


    } 


    @SuppressWarnings("unchecked") 
    // <editor-fold defaultstate="collapsed" desc="Generated Code"> 
    private void initComponents() { 

     jComboBox1 = new javax.swing.JComboBox(); 

     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

     jComboBox1.setEditable(true); 
     jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); 

     org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 
      .add(layout.createSequentialGroup() 
       .add(55, 55, 55) 
       .add(jComboBox1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 268, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(77, Short.MAX_VALUE)) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) 
      .add(layout.createSequentialGroup() 
       .add(37, 37, 37) 
       .add(jComboBox1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) 
       .addContainerGap(236, Short.MAX_VALUE)) 
     ); 

     pack(); 
    }// </editor-fold> 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 

      public void run() { 
       new NewJFrame().setVisible(true); 
      } 
     }); 
    } 
    // Variables declaration - do not modify 
    private javax.swing.JComboBox jComboBox1; 
    // End of variables declaration 
} 

enter image description here

जैसा कि आपने इस स्क्रीनशॉट में देखा होगा, combobox और इसके कर्सर को बाईं ओर गठबंधन किया गया है जबकि सूची दाईं ओर गठबंधन है। इसे कैसे हल किया जा सकता है?

+0

पोस्ट करें runnable कोड पता चलता है कि आप जारी – mKorbel

उत्तर

1

यह कर्सर बाईं ओर गठबंधन है जबकि सूची दाईं ओर गठबंधन है। इसे कैसे हल किया जा सकता है?

लगता है जैसे आपके पास एक संपादन योग्य कॉम्बो बॉक्स है। इसलिए मुझे लगता है कि आप भी संपादक घटक के उन्मुखीकरण को बदलने की जरूरत: संपादक के लिए ठीक काम करता है लेकिन क्या सभी घटक के उन्मुखीकरण के बारे में

ComboBoxEditor editor = comboBox.getEditor(); 
JTextField textField = (JTextField)editor.getEditorComponent(); 
textField.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
+0

कौन है? मेरा मतलब है कि सही तीर छवि बाईं ओर गठबंधन की जानी चाहिए। –