Path: csiph.com!x330-a1.tempe.blueboxinc.net!feeder1.hal-mli.net!news.glorb.com!news-out.readnews.com!news-xxxfer.readnews.com!news-out.news.tds.net!newsreading01.news.tds.net!86597e80!not-for-mail From: "vaidhu" Subject: ultimate chalenge in JCom Message-ID: <890abd332fe0a@uwe> X-Comment-To: comp.lang.java.gui Newsgroups: comp.lang.java.gui Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.15a-Win32 NewsLink 1.92] Lines: 159 Date: Wed, 27 Apr 2011 15:48:28 GMT NNTP-Posting-Host: 96.60.20.240 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1303919308 96.60.20.240 (Wed, 27 Apr 2011 10:48:28 CDT) NNTP-Posting-Date: Wed, 27 Apr 2011 10:48:28 CDT Organization: TDS.net Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.gui:4061 To: comp.lang.java.gui vaidhu wrote: hi how do I change the font of individual combo box items, say if I have 5 items in a combo box , how can I have each of them in a different font ? I can do combo.setFont(Font f) but is there any way I can set the font of the combo Items ? Also,In my combobox i want to display more than one item of every font type. I want the source code or logic. Example: items 1,2,3--"Arial" items 4,5,6--"Times New Roman" items 7,8,9--"verdana" items 10,11,12--Again "Times New Roman" Note: using list cell renderer it is giving only one item of every font type.But i want more than one item of every font in one combobox. This is my code which need changes import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.plaf.basic.*; public class ComboBoxFonts extends JFrame implements ItemListener { // JTextArea textArea; JComboBox comboBox; public Font abiFont = new Font("Arial Black Italic",Font.PLAIN,20); public Font bmoFont = new Font("Book Man Old Style Bold",Font.BOLD,20); public Font cniFont = new Font("Courier New Italic",Font.PLAIN,20); public Font tnrFont = new Font("Times New Roman",Font.PLAIN,20); public Font verFont = new Font("Verdana Bold",Font.BOLD,20); public Font webFont = new Font("Webdings",Font.BOLD,20); public ComboBoxFonts() { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment (); Font [] fonts = ge.getAllFonts (); Font [] example = {abiFont,bmoFont,cniFont,tnrFont,verFont,webFont}; //The above example array contains the order in which the fonts are displayed in our ComboBox. comboBox = new JComboBox(example); comboBox.setRenderer( new MyFontRenderer() ); comboBox.addItemListener( this ); getContentPane().add( comboBox, BorderLayout.NORTH ); comboBox.setBounds(162,42,180,25); } public void itemStateChanged(ItemEvent e) { Font font = (Font)e.getItem(); //textArea.setFont( font.deriveFont( textArea.getFont().getSize2D() ) ); comboBox.setFont( font.deriveFont( comboBox.getFont().getSize2D() ) ); } public static void main(String[] args) { ComboBoxFonts frame = new ComboBoxFonts(); frame.setDefaultCloseOperation( EXIT_ON_CLOSE ); frame.pack(); frame.setLocationRelativeTo( null ); frame.setVisible( true ); } class MyFontRenderer extends BasicComboBoxRenderer { public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); Font font = (Font)value; String fontName = font.getFontName(); //setFont( font.deriveFont(12.0f) ); int size = font.getSize(); System.out.println("fontName : "+fontName+" size : "+size); if(fontName.equals("Arial Black Italic")) { setFont( font.deriveFont(100)); setText(""+(char)69+""+(char)78+""+(char)71+""+(ch ar)76+""+(char)73+""+(char) 83+""+(char)72); //setText("Welcome To Geneva Software Technologies Pvt ltd"); return this; } else if(fontName.equals("Times New Roman")) { setFont( font.deriveFont(100)); setText(""+(char)69+""+(char)78+""+(char)71+""+(ch ar)76+""+(char)73+""+(char) 83+""+(char)72); setText(""+(char)99+""+(char)117+""+(char)104+""+( char)122+""+(char)77+""+ (char)73+""+(char)102); return this; } else if(fontName.equals("Webdings")) { //Webdings font is the last font displayed in our ComboBox drop down list setFont( font.deriveFont(100)); setText(""+(char)69+""+(char)78+""+(char)71+""+(ch ar)76+""+(char)73+""+(char) 83+""+(char)72); return this; } else if(fontName.equals("Verdana Bold")) { setFont( font.deriveFont(100)); setText(""+(char)69+""+(char)78+""+(char)71+""+(ch ar)76+""+(char)73+""+(char) 83+""+(char)72); return this; } else if(fontName.equals("Book Man Old Style Bold")) { setFont( font.deriveFont(100)); setText(""+(char)69+""+(char)78+""+(char)71+""+(ch ar)76+""+(char)73+""+(char) 83+""+(char)72); return this; } else { setFont(font.deriveFont(100)); setText(""+(char)69+""+(char)78+""+(char)71+""+(ch ar)76+""+(char)73+""+(char) 83+""+(char)72); return this; } } } } -- Message posted via http://www.javakb.com --- * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet! --- Synchronet 3.15a-Win32 NewsLink 1.92 Time Warp of the Future BBS - telnet://time.synchro.net:24