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