'da metni hizalamanın herhangi bir yolu var Sağa hizalanmış bir JComboBox sahibi olmak istiyorum. bunu nasıl yapabilirim? Birisi daha önce "Bir JLabel # setHorizontalAlignment (JLabel.RIGHT) olan bir JLabel olabilir JComboBox için bir oluşturucu ayarlayabilirsiniz" ama bunu nasıl yapabilirim bilmiyorum?Bir JCombobox
cevap
birisi önce olabilen JComboBox bir renderer ayarlayabilirsiniz" diyen bir JLabel sahip JLabel # setHorizontalAlignment (JLabel.RIGHT) "
Evet, varsayılan yenileyici bir JLabel'dir, bu nedenle özel bir oluşturucu oluşturmanız gerekmez. Sadece kullanabilirsiniz:
((JLabel)comboBox.getRenderer()).setHorizontalAlignment(JLabel.RIGHT);
Eh, böyle, ListCellRenderer ile yapabilirsiniz:
import java.awt.Component;
import java.awt.ComponentOrientation;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.SwingUtilities;
public class ComboboxDemo extends JFrame{
public ComboboxDemo(){
JComboBox<String> comboBox = new JComboBox<String>();
comboBox.setRenderer(new MyListCellRenderer());
comboBox.addItem("Hi");
comboBox.addItem("Hello");
comboBox.addItem("How are you?");
getContentPane().add(comboBox, "North");
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private static class MyListCellRenderer extends DefaultListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
Component component = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
component.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
return component;
}
}
public static void main(String [] args){
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ComboboxDemo().setVisible(true);
}
});
}
}
Teşekkür ederim Meraman –
Yönlendirmeyi seçemiyorum * CENTER * !! Sadece soldan sağa ve sola doğru – shareef
Bu çalıştı beni güzel ve
comboFromDuration.setRenderer(new DefaultListCellRenderer() {
@Override
public void paint(Graphics g) {
setHorizontalAlignment(DefaultListCellRenderer.CENTER);
setBackground(Color.WHITE);
setForeground(Color.GRAY);
setEnabled(false);
super.paint(g);
}
});
(Grafik) çağrısı, ayrıca kullanabilirsiniz anonim yapıcı bloğu her boya ayarlayıcıları önlemek için kısa:
comboFromDuration.setRenderer(new DefaultListCellRenderer() {
{
setHorizontalAlignment(DefaultListCellRenderer.CENTER);
setBackground(Color.WHITE);
setForeground(Color.GRAY);
setEnabled(false);
}
});
- 1. jComboBox
- 2. Düzenlenebilir bir JComboBox
- 3. JcomboBox çoklu seçim
- 4. Java JComboBox Açılır olay
- 5. Windows 7'deki JComboBox,
- 6. Senkronize JList ve JComboBox?
- 7. JComboBox, JTable TableHeader
- 8. Açılır listeden JComboBox navigasyonu,
- 9. Dialog içindeki JComboBox
- 10. JComboBox setText Yöntemi
- 11. JComboBox jenerikinde getSelectedItem() neden değil?
- 12. Modify toString() yöntemi JComboBox Swing
- 13. JTable hücresine JComboBox nasıl eklenir?
- 14. JComboBox odak ve fare tıklama etkinlikleri çalışmıyor
- 15. Bir jcombobox'ta jpopupmenu yüksekliği nasıl değiştirilir?
- 16. </p> <pre><code>int caretPos = textField.getCaretPosition(); </code></pre> <p>ile şapka konumunu bulabileceği bir JTextField ben de Netbeans GUI Builder'daki
- 17. JComboBox'daki içeriğin merkezde nasıl görüntülensin?
- 18. SyntaxError Aşağıdaki kodu içeren bir gui.py dosyasına sahip
- 19. Enum
- 20. 2 JComboBoxes nasıl zar taklit eder?
- 21. ComboBox'ı yeni değerlerle sıfırla
- 22. Formda kendi öğelerini gösterme
- 23. Program görünmeyecek
- 24. JTable (Java)
- 25. ComboBox için hazırda bulunan doğrulayıcı
- 26. mvc pattern gui actionlistener sınıfı
- 27. Java Swing: JComboxBox açılır listesinin daha uzun olmasını nasıl sağlar?
- 28. Bu kodu kısa yoldan yazmanın bir yolu var mı?
- 29. ArrayList # include() işlevini kullanarak farklı bir değer elde edin
- 30. Java swing'te birleşik giriş değeri al
+1, cevabınız benimkinden daha iyidir, bu bilgiler için teşekkürler. – UDPLover
Idk ... Bence daha iyi bir cevap, iki cevabınızın bir kombinasyonu olabilir. Özellikle, cevabınız benim için daha faydalıdır çünkü kendi özel oluşturucamı kullanıyorum. Öte yandan, Modelde (veya combobox'taki nesneler için yeterince iyi olsa da toString()) düz bir dizi Strings kullanıp kullanmadığınızı anlayabiliyorum, bunu yapmak daha yararlı olacaktır. – searchengine27