2012-02-15 67 views
1

我想在我的应用程序中重用Eclipse的关于对话框。我需要做的是在aboutText中添加图像,超链接和图像链接,但是在aboutText中似乎只有超链接是可能的?有没有办法添加图像/图像链接,而不提供我自己的关于对话框实现?如何自定义Eclipse关于对话框的文本?

谢谢,

+0

如果我提供的代码按照您所需的方式工作,请通过单击将其视为已接受的答案。 – Juvanis 2012-02-15 17:50:39

+0

那是Eclipse RCP应用程序吗? – tenorsax 2012-02-15 18:48:51

+0

是的,它是一个Eclipse RCP应用程序。看起来大约文字没有任何选项来添加图像/图像链接,或透视名称/图标时,透视变化。 – 2012-02-15 19:11:32

回答

4

使用JDialog。您可以在其中添加JPanel对象。您可以将图像,超链接,文本,标签放入JPanel中。所以它应该是微不足道的。

看看这个代码片段并测试它。您也可以使用HTML标记来引用外部图片网址。看看这个行:

creditsLabel.setText("<HTML><IMG SRC=\"http://siesbilkent.appspot.com/images/admin.png\"></IMG></HTML>"); 

示例代码:

import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.FlowLayout; 
import javax.swing.JDialog; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 

public class MyDialog extends JDialog 
{ 
    private JLabel creditsLabel; 

    public MyDialog (JFrame frame) 
    { 
     super(frame, "Credits", true); 
     JPanel panel = new JPanel(new FlowLayout()); 
     panel.setBackground(new Color(255, 0, 128)); 
     creditsLabel = new JLabel(); 
     creditsLabel.setText("<HTML><IMG SRC=\"http://siesbilkent.appspot.com/images/admin.png\"></IMG></HTML>"); 
     panel.add(creditsLabel); 

     this.getContentPane().add(panel); 
     this.setPreferredSize(new Dimension(240, 160)); 
     this.pack(); 
     this.setLocationRelativeTo(null); 
     this.setResizable(false); 
    } 

    public static void main (String [] args) 
    { 
     MyDialog dialog = new MyDialog(new JFrame()); 
     dialog.setModal(true); 
     dialog.setVisible(true); 
    } 
} 
+0

感谢您的回答。但是我正在谈论的是重用/配置Eclipse IDE关于对话框的aboutText,而不创建自己的对话框。如果我必须重写Eclipse的AboutDialog,那么应该使用SWT来代替Swing,但它目前不是我的选择。 – 2012-02-15 18:32:54

+0

对不起,刚才看到我的问题中添加的JDialog/Swing的标签,我不打算这样做。 – 2012-02-15 19:12:13

0

如果你正在寻找定制基于Eclipse的应用程序/产品,然后看看这个manual。有三个文件控制品牌:about.iniabout.propertiesabout.html。您可以使用about.html作为图片链接。

+0

感谢您的建议。看来about.html不是初始页面上的图像链接:“每一个功能和插件应该包括一个about.html文件这是当用户打开Eclipse的关于对话框将显示一个简单的HTML文件,打开。插件Details对话框中,选择插件,然后点击More Info按钮” – 2012-02-15 19:21:32