我已从
Windows机器连接到Solaris 11.我已将DISPLAY设置为我的机器.我正在使用
Java 8.
注意:使用Java 6时,这很好用.
当我启动对话框时,它的按钮和其他摆动组件不会被渲染.
观察到它的作用
o Windows 7企业版
o Windows Server 2012 Enterprise
我试过更换L& F但是没用.当我使用“GTKLookAndFeel”时,按钮出现但没有文字/标签.
任何帮助是极大的赞赏.如果需要任何详细说明,请告诉我.谢谢.
我的对话框的代码如下
package com.ui; import javax.swing.SwingUtilities; public class SimpleDialog extends java.awt.Dialog { private static final long serialVersionUID = -8298472889742780386L; public SimpleDialog(java.awt.Frame parent,boolean modal) { super(parent,modal); initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { btnSkip = new javax.swing.JButton(); btnRetry = new javax.swing.JButton(); btnAbort = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); lblMessage = new javax.swing.JTextArea(); btnViewLog = new javax.swing.JButton(); setLocationRelativeTo(null); setMinimumSize(new java.awt.Dimension(600,200)); setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL); setName("Form"); // NOI18N setResizable(false); setTitle("Simple Dialog"); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { closeDialog(evt); } }); btnSkip.setText("Skip this Step"); // NOI18N btnSkip.setName("btnSkip"); // NOI18N btnSkip.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSkip_Click(evt); } }); btnRetry.setText("Retry"); // NOI18N btnRetry.setName("btnRetry"); // NOI18N btnRetry.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnRetry_Click(evt); } }); btnAbort.setText("Abort"); // NOI18N btnAbort.setName("btnAbort"); // NOI18N btnAbort.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnAbort_Click(evt); } }); jScrollPane1.setName("jScrollPane1"); // NOI18N lblMessage.setColumns(20); lblMessage.setEditable(false); // NOI18N lblMessage.setLineWrap(true); lblMessage.setRows(5); lblMessage.setName("lblMessage"); // NOI18N jScrollPane1.setViewportView(lblMessage); btnViewLog.setText("View log"); // NOI18N btnViewLog.setName("btnViewLog"); // NOI18N btnViewLog.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { // open some log file } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.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(jScrollPane1,javax.swing.GroupLayout.Alignment.LEADING,javax.swing.GroupLayout.DEFAULT_SIZE,580,Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addComponent(btnSkip) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(btnRetry) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,87,Short.MAX_VALUE) .addComponent(btnViewLog) .addGap(79,79,79) .addComponent(btnAbort))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup() .addContainerGap() .addComponent(jScrollPane1,149,Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnSkip) .addComponent(btnAbort) .addComponent(btnRetry) .addComponent(btnViewLog)) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents /** Closes the dialog */ private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog setVisible(false); dispose(); }//GEN-LAST:event_closeDialog private void btnAbort_Click(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAbort_Click this.setVisible(false); }//GEN-LAST:event_btnAbort_Click private void btnRetry_Click(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRetry_Click this.setVisible(false); }//GEN-LAST:event_btnRetry_Click private void btnSkip_Click(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSkip_Click this.setVisible(false); }//GEN-LAST:event_btnSkip_Click public static void main(String args[]) { SwingUtilities.invokeLater(new Runnable() { public void run() { SimpleDialog dialog = new SimpleDialog(new java.awt.Frame(),true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnAbort; private javax.swing.JButton btnRetry; private javax.swing.JButton btnSkip; private javax.swing.JButton btnViewLog; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea lblMessage; // End of variables declaration//GEN-END:variables }
解决方法
试试这个
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
让我知道它是否有效.