在使用Java 8的Solaris上,Swing JButton无法正确呈现
发布时间:2020-12-15 00:35:09  所属栏目:Java  来源:网络整理 
            导读:我已从 Windows机器连接到Solaris 11.我已将DISPLAY设置为我的机器.我正在使用 Java 8. 注意:使用Java 6时,这很好用. 当我启动对话框时,它的按钮和其他摆动组件不会被渲染. 观察到它的作用 o Windows 7企业版 o Windows Server 2012 Enterprise 我试过更换L
                
                
                
            | 我已从 
 Windows机器连接到Solaris 11.我已将DISPLAY设置为我的机器.我正在使用 
 Java 8. 
  
  注意:使用Java 6时,这很好用. 当我启动对话框时,它的按钮和其他摆动组件不会被渲染. 观察到它的作用 我试过更换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()); 让我知道它是否有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
