[ bojani983 @ 20.04.2013. 18:48 ] @
Da li je moguce samo na Jtable primeniti Nimbus Look and Feel? Ideja je da aplikacija ima default system look and feel osim jbatle komponente. Hvala unapred |
[ bojani983 @ 20.04.2013. 18:48 ] @
[ Boris_ZR @ 20.04.2013. 21:11 ] @
Mislim da ćeš se namučiti to da izvedeš, iskreno, što ne znači da je nemoguće.
Šta je tačno problem, jel' neki bug u samom L&F, jer mislim da sam ja imao neki problem oko headera u JTable kada sam koristio Nimbus? Pozdrav [ bojani983 @ 21.04.2013. 08:24 ] @
Svidja mi se u Nimbus-u izgled tabele (izgled hedera, font hedera, boja selektovanog reda, svaki drugi red osencan o sl.) pa sam hteo to isto da postignem i u svom L&F-u.
Da li se to mozda uraditi preko setForeground, setBackground funkcija i sl. i ako moze koje su vrednosti boja? [ bantu @ 23.04.2013. 10:51 ] @
Probaj ovo:
Code: import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel; import javax.swing.SwingUtilities; import javax.swing.UIManager; public class TestFrame extends javax.swing.JFrame { private javax.swing.JButton jButton1; private javax.swing.JPanel jPanel1; private javax.swing.JProgressBar jProgressBar1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; private javax.swing.JTextField jTextField1; public TestFrame() { initComponents(); } @SuppressWarnings("unchecked") private void initComponents() { jTextField1 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); jPanel1 = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jProgressBar1 = new javax.swing.JProgressBar(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jButton1.setText("Klikni me!"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {"1", "2", "3", "4"}, {"1", "2", "3", "4"}, {"1", "2", "3", "4"}, {"1", "2", "3", "4"}, {"1", "2", "3", "4"} }, new String [] { "Title 1", "Title 2", "Title 3", "Title 4" } )); jScrollPane1.setViewportView(jTable1); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 507, Short.MAX_VALUE) .addContainerGap()) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 327, Short.MAX_VALUE) .addContainerGap()) ); jProgressBar1.setIndeterminate(true); jProgressBar1.setRequestFocusEnabled(false); jProgressBar1.setStringPainted(true); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 456, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton1)) .addComponent(jProgressBar1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 527, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButton1)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); pack(); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { try { UIManager.setLookAndFeel(new NimbusLookAndFeel()); SwingUtilities.updateComponentTreeUI(jPanel1); } catch (Exception ex) { java.util.logging.Logger.getLogger(TestFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } } public static void main(String args[]) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception ex) { java.util.logging.Logger.getLogger(TestFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new TestFrame().setVisible(true); } }); } } [ bojani983 @ 23.04.2013. 18:16 ] @
Na ovaj nacin ja postavljam Nimbus look na svim komponentama, a ne samo na JTable.
Meni treba samo na JTable Nimbus look, a na ostalim default. [ bantu @ 24.04.2013. 07:15 ] @
Pa, da, samo na jTable. Probaj.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|