在使用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()); 让我知道它是否有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |