在使用Java 8的Solaris上,Swing JButton无法正确呈现

前端之家收集整理的这篇文章主要介绍了在使用Java 8的Solaris上,Swing JButton无法正确呈现前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已从 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());

让我知道它是否有效.

猜你在找的Java相关文章