2014-07-22 7 views
0

색상을 변경하고 싶습니다 JInternalFrame 제목 표시 줄. 이를 위해 몇 가지 포럼 제안을 시도했지만 작동하지 않습니다. 내 응용 프로그램에서 메뉴 항목 생성을 클릭하면 내부 프레임이 표시됩니다. 제목 표시 줄의 색을 변경하고 싶습니다. 여기 JInternalFrame Titlebar의 색상을 변경하는 방법은 무엇입니까?

내 코드입니다 :

public class CreateDocs extends javax.swing.JFrame { 
int i=0; 
JTextPane textPane; 
public CreateDocs() { 
    initComponents(); 
} 
@SuppressWarnings("unchecked") 
// <editor-fold defaultstate="collapsed" desc="Generated Code"> 
private void initComponents() { 

    tabbedPane = new javax.swing.JTabbedPane(); 
    menuBar = new javax.swing.JMenuBar(); 
    jMenu1 = new javax.swing.JMenu(); 
    create = new javax.swing.JMenuItem(); 

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

    jMenu1.setText("File"); 

    create.setText("Create"); 
    create.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      createActionPerformed(evt); 
     } 
    }); 
    jMenu1.add(create); 

    menuBar.add(jMenu1); 

    setJMenuBar(menuBar); 

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
    getContentPane().setLayout(layout); 
    layout.setHorizontalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGap(0, 410, Short.MAX_VALUE) 
     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addComponent(tabbedPane, javax.swing.GroupLayout.PREFERRED_SIZE, 410, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addGap(0, 0, Short.MAX_VALUE))) 
    ); 
    layout.setVerticalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGap(0, 279, Short.MAX_VALUE) 
     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addComponent(tabbedPane, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE)) 
    ); 

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

private void createActionPerformed(java.awt.event.ActionEvent evt) { 
    final JInternalFrame internalFrame = new JInternalFrame(""); 
    i++; 
    UIManager.put("InternalFrame.activeTitleBackground", new ColorUIResource(new Color(248,250,175))); 
    UIManager.put("InternalFrame.inactiveTitleBackground", new ColorUIResource(new Color(248,250,175))); 
    javax.swing.plaf.basic.BasicInternalFrameUI ui = 
    new javax.swing.plaf.basic.BasicInternalFrameUI(internalFrame); 
    internalFrame.setUI(ui); 
    internalFrame.setName("Document"+i); 
    internalFrame.setClosable(true); 
    internalFrame.setAutoscrolls(true); 
    textPane=new JTextPane(); 
    textPane.setFont(new java.awt.Font("Miriam Fixed", 0, 14)); 
    internalFrame.add(textPane); 
    tabbedPane.add(internalFrame); 
} 

public static void main(String args[]) { 
    /* Set the Nimbus look and feel */ 
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> 
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
    * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
    */ 
    try { 
     for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { 
      if ("Nimbus".equals(info.getName())) { 
       javax.swing.UIManager.setLookAndFeel(info.getClassName()); 
       break; 
      } 
     } 
    } catch (ClassNotFoundException ex) { 
     java.util.logging.Logger.getLogger(CreateDocs.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (InstantiationException ex) { 
     java.util.logging.Logger.getLogger(CreateDocs.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (IllegalAccessException ex) { 
     java.util.logging.Logger.getLogger(CreateDocs.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
     java.util.logging.Logger.getLogger(CreateDocs.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } 
    //</editor-fold> 

    /* Create and display the form */ 
    java.awt.EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      new CreateDocs().setVisible(true); 
     } 
    }); 
} 
// Variables declaration - do not modify 
private javax.swing.JMenuItem create; 
private javax.swing.JMenu jMenu1; 
private javax.swing.JMenuBar menuBar; 
private javax.swing.JTabbedPane tabbedPane; 
// End of variables declaration 

}

+0

1 사이의 숫자를 사용을 PLAF (아마도 다른 PLAF를 사용합니까?) –

+0

어떻게 할 수 있습니까? – user3497476

+0

[설정 Swing JInternalFrame을 수동으로 설정]의 복제를 도와주세요 (http://stackoverflow.com/questions/2183953/setting-swing-jinternalframe-lnf-manually) –

답변

0

이 한 줄 사용해보십시오 : 왜에 두지

internalFrame.getRootPane().setWindowDecorationStyle(5); 

8.