On Solaris using java 8, swing JButton does not render correctly
I have connected to Solaris 11.0 from a Windows machine I have set display as my machine I'm using java 8
Note: this works well when using java 6
When I launch the dialog, its buttons and other swing components will not be rendered
Observe its role o Windows 7 Enterprise o Windows Server 2012 enterprise
I tried to replace L & F, but it didn't work When I use "gtklookandfeel", the button appears but there is no text / label
Any help is greatly appreciated If you need any details, please let me know thank you.
The code of my dialog box is as follows
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 }
Solution
Try this
Let me know if it works
The above is collected and sorted out by the programming house for you. On Solaris using java 8, swing JButton cannot correctly present all the contents. I hope this article can help you solve the program development problem that swing JButton cannot correctly present on Solaris using java 8.
If you think the content of the programming home website is good, you are welcome to recommend the programming home website to programmers and friends.